android 更改spinner默认样式

来源:互联网 发布:淘宝去年的交易订单 编辑:程序博客网 时间:2024/05/22 23:08

效果图:



一张图片(Spinner背景图片,带白色箭头的透明图片),一个Activity布局(背景为蓝色)和两个样式布局

1.Activity布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:background="@color/color_blue_dark"    android:layout_height="match_parent">    <!--Spinner背景是一个透明的的矩形,上面附有一个白色箭头-->    <Spinner        android:id="@+id/test_spinner"        android:layout_width="200dp"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:background="@drawable/spinner_down"     >    </Spinner></LinearLayout>



2.adapter_mytopactionbar_spinner  可以更改默认样式的布局

<?xml version="1.0" encoding="utf-8"?><!--spinner未展开的文字显示布局,这里边id必须是  android:id="@android:id/text1",-->    <!--因为源代码中spinner的textView的id就是这个,如果不这样设置,无法改变spinner的样式--><TextView    android:id="@android:id/text1"    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:gravity="center"    android:singleLine="true"    android:textColor="@color/color_white"    android:textSize="18dp"    />


3.
adapter_mytopactionbar_spinner_item  设置spinner展开的Item布局
<?xml version="1.0" encoding="utf-8"?><!--spinner展开后的Item布局--><TextView    android:id="@+id/spinner_textView"    xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:gravity="center"    android:padding="10dp"    android:textSize="16sp"></TextView>


Activity 中
public class SpinnerActivity extends Activity {    private Spinner spinner;    private static String[] mArrayString = null;    private ArrayAdapter<String> mArrayAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.test_spinner_layout);        spinner=(Spinner)findViewById(R.id.test_spinner);//        初始化spinner中显示的数据        mArrayString = new String[]{"android讲义","java面向对象","王者归来"};//        adapter_mytopactionbar_spinner改变了spinner的默认样式        mArrayAdapter=new ArrayAdapter<String>(this,R.layout.adapter_mytopactionbar_spinner,mArrayString){            @Override            public View getDropDownView(int position, View convertView, ViewGroup parent) {                if (convertView == null){//                    设置spinner展开的Item布局                    convertView = getLayoutInflater().inflate(R.layout.adapter_mytopactionbar_spinner_item, parent, false);               }                TextView spinnerText=(TextView)convertView.findViewById(R.id.spinner_textView);                spinnerText.setText(getItem(position));              return convertView;            }        };        spinner.setAdapter(mArrayAdapter);//        spinner设置监听        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                Toast.makeText(SpinnerActivity.this,"你选的是的是第"+position,Toast.LENGTH_SHORT).show();            }            @Override            public void onNothingSelected(AdapterView<?> parent) {            }        });     }}



1 0
原创粉丝点击