美文网首页
Android 中Nice Spinner 在项目的使用

Android 中Nice Spinner 在项目的使用

作者: 蘑菇v5 | 来源:发表于2019-03-13 16:57 被阅读0次

    【声明:】本文是作者(蘑菇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;
                }
    

    效果图:

    效果图

    相关文章

      网友评论

          本文标题:Android 中Nice Spinner 在项目的使用

          本文链接:https://www.haomeiwen.com/subject/pnrtmqtx.html