美文网首页
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