Android 特别好用的框架 二,Spinner(下拉框)的使用

在项目中我们经常会用到Spinner(下拉框)来做选择,常用比如筛选框.选择项 今天给搭建分享一个特别好用的三方框架NiceSpinner的使用方法

第一步.添加依赖库

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

第二步.创建一个xml布局

  <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center|end"
            android:background="@drawable/spinner_shape"
            android:padding="2dp">

            <org.angmarch.views.NiceSpinner
                android:id="@+id/sp_setting_camera_angle"
                android:layout_width="100dp"
                android:layout_height="25dp"
                android:textSize="13sp"
                app:arrowTint="@color/blue"
                app:textTint="@color/black" />
        </FrameLayout>

第三步.初始化使用

 private val spinnerAngle = LinkedList(listOf( "0", "90", "180", "270" ))
  initSpinner(sp_setting_camera_angle, spinnerAngle)//填充数据
 sp_setting_camera_angle.selectedIndex = 1//设置默认下标,不设置的为0
private fun initSpinner(spinner: NiceSpinner, list: List<String>) {
        spinner.attachDataSource(list)
        spinner.setPadding(0, 0, 0, 0)
        spinner.gravity = CENTER
    }

第四步.点击监听方法

  sp_setting_camera_angle.setOnSpinnerItemSelectedListener { _, _, position, _ ->
            setting.cameraAngle = position.toString()
            when (position) {
                0 -> //下标选中后
                1 ->
                2 -> 
                3 ->
            }

        }

这里指的注意的是内边距设置下,xml设置是无效的,不设置的话,在高度较小的情况下,文字容易被覆盖

猜你喜欢

转载自blog.csdn.net/qq_28643195/article/details/107789596