完全自定义spinner

参考网址:http://www.cnblogs.com/coding-way/p/3549865.html

Android spinner是一个使用比较多的view,这里说下如何自定义(其实很简单,一些网上的参考资料让人看了有点费解)。



要改的主要涉及两个部分,一部分是用来点击的按钮,第二部分是用来选择的区域。

第一部分的更改,只要直接修改spinner的background就可以了。

eg:
< Spinner
        android:id= "@+id/spinner"
        android:layout_width= "match_parent"
        android:layout_height= "wrap_content"
        android:background= "#ffffff"
        />
效果:

第二部分更改,在代码中使用spinner中的时候,也是通过Adapter模式。

Spinner spinner = (Spinner)findViewById(R.id.  spinner );
String[] arr = {  "三牌楼"   "仙林"  "锁金村"  "扬州"  };
ArrayAdapter arrayAdapter =  new  ArrayAdapter(MainActivity. this , android.R.layout. simple_spinner_item , arr);
spinner.setAdapter(arrayAdapter);

更改方法:新建ArrayAdapter的时候,第二个参数的Resource文件不再使用系统自带的 android.R.layout.simple_spinner_item,改用自定义的 R.layout.my_spinner_item, 在自定义的 R.layout.my_spinner_item 中填充自己想要的view及其效果。

eg:
Spinner spinner = (Spinner)findViewById(R.id. spinner);
String[] arr = { "三牌楼", "仙林" , "锁金村" , "扬州" };
//ArrayAdapter arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_spinner_item, arr);
ArrayAdapter arrayAdapter = new ArrayAdapter(MainActivity.this, R.layout.my_spinner_item, arr);
spinner.setAdapter(arrayAdapter);

<? xml version= "1.0" encoding= "utf-8" ?>
< TextView xmlns:android ="http://schemas.android.com/apk/res/android"
    android:layout_width= "match_parent"
    android:layout_height= "40dp"
    android:gravity= "center_vertical"
    android:textColor= "#ff0000"
    >
</ TextView>

可以看到填充了红色的TextView。

实际效果:


也可以在自定义的 R.layout.my_spinner_item 中填充CheckedTextView ImageView等都是没问题的。

ctrlz + presents!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值