【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!
简介:
Nice Spinner
是一个下拉选择框,github
中开源库:地址,用起来特别简单。
是在安卓原生的spinner
基础,进行的优化,从Api 14
开始兼容,主要有以下属性,实现自定义视图效果:
-
arrowTint
:在下拉箭头上设置颜色 -
hideArrow
:设置是否显示或隐藏下拉箭头 -
arrowDrawable
:设置下拉箭头的drawable -
textTint
:设置文本颜色 -
dropDownListPaddingBottom
:设置下拉列表的底部填充 -
backgroundSelector
:为下拉列表行设置背景选择器
使用示例:
用法非常简单。
step1:
在项目根目录下build.gradle
中添加:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
在app目录下build.gradle
中添加:
implementation 'com.github.arcadefire:nice-spinner:1.3.4'
step2:将view
添加到XML
布局中:
<org.angmarch.views.NiceSpinner
android:id="@+id/text_nice_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:textSize="14sp"
app:arrowTint="@color/colorPrimary"
app:textTint="@color/colorAccent"/>
step3:初始化view、绑定数据和监听点击事件:
mTextNiceSpinner = (NiceSpinner) findViewById(R.id.text_nice_spinner);
mTextColorList = new LinkedList<>(Arrays.asList("RED", "GREEN", "BLUE", "WHITE", "BLACK", "半透明", "全透明"));
mTextNiceSpinner.attachDataSource(mTextColorList);
mTextNiceSpinner.setSelectedIndex(3);
mTextNiceSpinnerValue = "WHITE";
mTextNiceSpinner.addOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mTextNiceSpinnerValue = mTextColorList.get(position);
}
});
step4:根据选择的下拉列表数据,显示文字的颜色:
switch (mTextNiceSpinnerValue) {
case "RED":
textView.setTextColor(Color.RED);
break;
case "GREEN":
textView.setTextColor(Color.GREEN);
break;
case "BLUE":
textView.setTextColor(Color.BLUE);
break;
case "WHITE":
textView.setTextColor(Color.WHITE);
break;
case "BLACK":
textView.setTextColor(Color.BLACK);
break;
case "半透明":
textView.setTextColor(Color.parseColor("#26E6E8E7"));
break;
case "全透明":
textView.setTextColor(Color.TRANSPARENT);
break;
default:
textView.setTextColor(Color.WHITE);
break;
}
网友评论