android 下拉组件 nice-spinner

发布时间:2022-06-02 23:26:40

在项目管理系统android端开发时感觉spinner不好用,至于具体怎么不好用不记得了,可能是样式。于是找到了android nice-spinner 这个组件

开源地址:

https://github.com/arcadefire/nice-spinner

1.在build.gradle中加入

implementation 'com.github.arcadefire:nice-spinner:1.4.5'

2.在布局文件中

  <org.angmarch.views.NiceSpinner
                android:id="@+id/prioritysp"
                style="@style/formline"
                android:background="@drawable/headbg" />  <!--这里可以自已定义-->
                

样式文 件定义

<style name="formline">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">40dp</item>
        <item name="android:textColor">@color/content</item>
        <item name="android:textSize">@dimen/textSize_14</item>
        <item name="android:textAlignment">textStart</item>
        <item name="android:layout_marginTop">0.3dp</item>
        <item name="android:paddingLeft">25dp</item>
        <item name="textTint">@color/content</item>
        <item name="android:background">@drawable/headbg</item>
    </style>

绑定数据源,这个是官方的示例,他使用的是数组 我们也可以使用实体对象,然后重写toString方法 这样就可以解决需要显示的文本

 NiceSpinner niceSpinner = (NiceSpinner) findViewById(R.id.nice_spinner);
 List<String> dataset = new LinkedList<>(Arrays.asList("One", "Two", "Three", "Four", "Five"));
 niceSpinner.attachDataSource(dataset);

获取定义

prioritySp = (NiceSpinner) findViewById(R.id.prioritysp);

获得选中的索引,可以通过索引再去绑定的数据源中获取 即选中的值

int priorityIndex=prioritySp.getSelectedIndex();

Card image cap
APP STORE
Card image cap
应用宝
Card image cap
小米
Card image cap
华为