Android自定义Spinner
来源:互联网 发布:java做网站 编辑:程序博客网 时间:2024/04/29 00:54
1.my_spinner.xml,注意这里的CheckedTextView id必须是@android:id/text1
<?xml version="1.0" encoding="utf-8"?><CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/spinnercontent_selector" android:ellipsize="marquee" android:gravity="center_vertical" android:singleLine="true" android:textSize="18dp" android:textColor="#333333"/>
2.定义spinner_item.xml,这个是下拉列表的item样式
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/spinnercontent_selector" android:padding="15dp" > <TextView android:id="@+id/spinner_item_label" android:layout_width="wrap_content" android:layout_height="30dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:text="12" android:textColor="#333333" android:textSize="18dp" /> <ImageView android:id="@+id/icon" android:layout_width="20dp" android:layout_height="20dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:src="@drawable/spinner_select" android:visibility="visible" /></RelativeLayout>
3.需要重写ArrayAdapter的getDropDownView(int position, View convertView, ViewGroup parent)方法。
// 初始化控件kdNameSpinner = (Spinner) findViewById(R.id.spinnerKuaidi);// 建立数据源String[] mItems = getResources().getStringArray(R.array.spinnername);// 建立Adapter并且绑定数据源// 重写ArrayAdapter的getDropDownView()方法ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.my_spinner, mItems) {@Overridepublic View getDropDownView(int position, View convertView,ViewGroup parent) {if (convertView == null) {convertView = getLayoutInflater().inflate(R.layout.spinner_item_layout, parent, false);}TextView label = (TextView) convertView.findViewById(R.id.spinner_item_label);label.setText(getItem(position));ImageView icon = (ImageView) convertView.findViewById(R.id.icon);icon.setVisibility(kdNameSpinner.getSelectedItemPosition() == position ? View.VISIBLE: View.INVISIBLE);return convertView;}};// 绑定 Adapter到控件kdNameSpinner.setAdapter(adapter);
0 0
- 自定义Android的Spinner
- 自定义Android的Spinner
- 自定义Android的Spinner
- Android 实现自定义Spinner
- 自定义Android的Spinner
- 自定义Android的Spinner
- 自定义Android的Spinner
- 自定义Android的Spinner
- android自定义Spinner
- Android 实现自定义Spinner
- Android自定义Spinner
- android之自定义Spinner
- Android 实现自定义Spinner
- Android 实现自定义Spinner
- Android 自定义Spinner
- Android 自定义 spinner样式
- Android自定义Spinner
- Android自定义Spinner
- 利用字符截取函数substring,charindex replace 等函数定义标量函数
- java clone
- Java找出一个字符串中重复最多字母的次数
- android中创建文件夹
- C - Fractal(3.4.1)
- Android自定义Spinner
- Lucene4.9使用 mmseg4j1.9遇到的问题,修改mmseg4j源码解决了
- (八)用rosed编辑ROS文件
- hdu 3718 Different Division
- MySQL批量SQL插入性能优化
- FragmentPagerAdapter的getItem()方法无法获取Fragment的解决方法
- 根据session用户id读取用户信息,age根据当前时间减去birthday
- Java中间变量缓存机制
- (九)用C++编写简单的publisher和subscriber