Android 第三方下拉框Nice Spinner的使用

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:
                //其他处理;
        }

    }
});

猜你喜欢

转载自blog.csdn.net/weixin_53966032/article/details/126570292