Android最常用的选择器控件。
MaterialSpinner
遵循谷歌Material Design设计风格的下拉框,API与系统同步,可方便设置下拉样式和点击效果
,支持编辑,支持下拉、选择监听。使用MaterialEditSpinner可支持编辑。
MaterialSpinner本质上是TextView + PopupWindow,而MaterialEditSpinner是EditText + PopupWindow的组合。
- 演示效果
- 使用案例
<com.xuexiang.xui.widget.spinner.materialspinner.MaterialSpinner
style="@style/Material.SpinnerStyle"
android:layout_marginLeft="40dp"
android:layout_marginTop="?attr/xui_config_content_spacing_vertical"
android:enabled="false"
app:ms_entries="@array/sort_mode_entry" />
- 属性表: (MaterialSpinner)
属性名 | 类型 | 默认值 | 备注 |
---|---|---|---|
ms_entries | reference | / | 下拉框选择的内容 |
ms_arrow_image | reference | / | 下拉框箭头的资源 |
ms_arrow_tint | color | / | 下拉框箭头的颜色, 默认和字体的颜色一样 |
ms_hide_arrow | boolean | true | 下拉框是否有箭头 |
ms_background_color | color | Color.WHITE | 下拉框背景的颜色 |
ms_background_selector | integer | / | 下拉框背景点击的效果 |
ms_text_color | color | / | 下拉框字体的颜色 |
ms_dropdown_max_height | dimension | 0 | 下拉框 下拉条目最大的高度 |
ms_dropdown_height | dimension | wrap_content(fill_parent、match_parent) | 拉框 下拉条目的样式 |
ms_dropdown_bg | reference | / | 下拉框 下拉条目的背景 |
ms_in_dialog | boolean | false | 是否使用在dialog中 |
常用方法
设置下拉列表的内容:setItems(T… items)
设置监听:
- 点击列表选择监听:setOnItemSelectedListener(OnItemSelectedListener onItemSelectedListener)
- 未进行选择的监听:setOnNothingSelectedListener(OnNothingSelectedListener onNothingSelectedListener)
设置下拉列表默认选择的序列:setSelectedIndex(int position)
设置下拉列表默认选中的内容:setSelectedItem(T item)
设置下拉列表的适配器:
setAdapter(ListAdapter adapter)
setAdapter(MaterialSpinnerAdapter<T> adapter)
伸缩下拉列表
- 展开显示:expand()
- 收起隐藏:collapse()
EditSpinner
可编辑,并且提供输入联想功能的下拉框。
- 演示效果
- 使用案例
<com.xuexiang.xui.widget.spinner.editspinner.EditSpinner
android:id="@+id/editSpinner"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
app:es_entries="@array/sort_mode_entry"
app:es_hint="@string/lab_please_select"/>
- 属性表: (EditSpinner)
属性名 | 类型 | 默认值 | 备注 |
---|---|---|---|
es_hint | string | / | 输入提示 |
es_height | dimension | R.attr.ms_item_height_size | 输入框的高度 |
es_textSize | dimension | R.attr.nlui_config_size_spinner_text | 输入框的字体大小 |
es_textColor | color | #333333 | 输入框的字体颜色 |
es_arrowImage | reference | / | 箭头图谱的资源 |
es_background | reference | / | 输入框的背景 |
es_maxLine | integer | 1 | 输入框支持的最大行数 |
es_entries | reference | / | 默认可选性内容 |
es_dropdown_bg | reference | R.drawable.ms_drop_down_bg_radius | 下拉框 下拉条目的背景 |
es_enable | boolean | true | 下拉输入框是否可编辑 |
es_maxLength | integer | / | 下拉框输入可输入的最大字符长度 |
es_maxEms | integer | / | 下拉框输入可输入的最大字符宽度 |
常用方法
- 设置默认可选项集合:setItems(String[] data)
- 设置下拉框条目点击监听:setOnItemClickListener(AdapterView.OnItemClickListener listener)
- 设置输入框字体的颜色: setTextColor(int color)
- 设置输入框的背景颜色:setBackgroundSelector(int backgroundSelector)
- 设置输入框的字体大小:setTextSize(float textSize)
- 设置输入框的提示信息:setHint(String hint)
- 设置下拉框适配器:setAdapter(BaseEditSpinnerAdapter adapter)
- 设置输入框是否可以编辑:setEnabled(boolean enabled)
- 设置输入框输入的类型:setInputType(int type)