设置这个东西有点繁琐,但是很简单
首先
1.定义布局文件中引用spinner:
<Spinner
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/spinner_style"
android:layout_toRightOf="@id/area_type_select"
android:gravity="start|center_vertical"
android:singleLine="true"
android:textSize="@dimen/form_tip_font_size"
android:id="@+id/spinner"
android:drawSelectorOnTop="true"
android:entries="@array/country_spinner"
/>
2.在drawable中定义一个selector 点击背景颜色效果
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="@color/orange" /><!--按下时效果-->
<item android:state_pressed="false"
android:drawable="@color/white_pure" /><!--默认效果-->
</selector>
<style name="spinner_style">
<item name="android:background">@drawable/selector_country_spinner</item>
<item name="android:textColor">#333333</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:gravity="left"
android:paddingLeft="8dip"
android:textStyle="bold"
android:textColor="@color/white_pure"
android:textSize="18dip"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ellipsize="marquee" />
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
/** 视图填充填充一个自己想要填充的视图碎片 放在哪个试图群容器里
* 碎片放在一个视图容器里
* */
View view = inflater.inflate(R.layout.fragment_two_form, container, false);
Spinner countrySpinner = (Spinner) view.findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.country_spinner));
adapter.setDropDownViewResource(R.layout.activity_form_spinner_country_textview);
countrySpinner.setAdapter(adapter);
countrySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
TextView tv = (TextView)view;
tv.setTextColor(Color.parseColor("#333333")); //设置颜色
tv.setTextSize(18.0f); //设置大小
tv.setGravity(Gravity.LEFT); //设置居中
}
@Override
public void onNothingSelected(AdapterView<?> parent){}
});
return view;
}