Nice Spinner 是一个开源的Android 下拉框,相较于Android 原生的Spinner,它具有漂亮的箭头动画和不同的显示其内容的方式。
Nice Spinner的github原码链接 GitHub - arcadefire/nice-spinner: A nice spinner for Android
简单效果如下图所示:
目录
使用方法
导入依赖
- 在项目级的build.gradle中添加maven仓库链接
在allprojects字典的repositories字典内添加maven{ url "https://jitpack.io" }
allprojects { repositories { ... maven { url "https://jitpack.io" } } }
- 在应用级的build.gradle中添加NiceSpinner包依赖
在dependencies字典内添加 implementation 'com.github.arcadefire:nice-spinner:1.4.4'
dependencies { implementation 'com.github.arcadefire:nice-spinner:1.4.4' }
Layout中添加控件
键入<NiceSpinner即可添加控件,添加示例如下:
<org.angmarch.views.NiceSpinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp" android:textSize="17sp"/>
添加下拉选项
下拉选项可以通过NiceSpinner对象的attachDataSource方法绑定String类型数组
选项的获取既可以从接口中获取数组添加,也可以手动添加
NiceSpinner niceSpinner = findViewById(R.id.spinner); List<String> dataset = new LinkedList<>(Arrays.asList("QQ","微信")); niceSpinner.attachDataSource(dataset);
监听下拉选择
可以通过NiceSpinner对象的 setOnSpinnerItemSelectedListener 方法监听选择情况
具体代码如下:
spinner.setOnSpinnerItemSelectedListener(new OnSpinnerItemSelectedListener() { @Override public void onItemSelected(NiceSpinner parent, View view, int position, long id) { String item = (String) parent.getItemAtPosition(position); switch (item){ case "QQ": //处理QQ break; case "微信": //处理微信 break; default: //其他处理; } } });
本文含有隐藏内容,请 开通VIP 后查看