android 年月选择控件,Android开发年月选择器

一、效果图

9a7ff58c37f3

年月选择器.png

二、思路

其实用的是'cn.aigestudio.wheelpicker:WheelPicker:1.1.3',可自行百度这个别人写的库,它还能实现很多功能

注:我这个是没联动效果的,它的库其他方法有

三、案例关键代码

xml

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="200dp"

android:background="@color/m_white">

android:id="@+id/cancel"

android:layout_width="60dp"

android:layout_height="40dp"

android:gravity="center"

android:text="取消"

android:textColor="@color/color_666666"

android:textSize="@dimen/m_size_17"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintTop_toTopOf="parent" />

android:id="@+id/ok"

android:layout_width="60dp"

android:layout_height="40dp"

android:gravity="center"

android:text="确定"

android:textColor="@color/color_3C76FF"

android:textSize="@dimen/m_size_17"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toTopOf="parent" />

android:id="@+id/view_line"

style="@style/full_under_line"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintTop_toBottomOf="@id/cancel" />

android:id="@+id/mWheelPicker_1"

android:layout_width="0dp"

android:layout_height="0dp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toLeftOf="@id/mWheelPicker_2"

app:layout_constraintTop_toBottomOf="@id/view_line"

android:layout_marginLeft="30dp"

app:wheel_atmospheric="true"

app:wheel_curtain_color="@color/m_blue"

app:wheel_curved="true"

app:wheel_cyclic="true"

app:wheel_indicator_color="@color/m_red_one"

app:wheel_item_text_color="@color/color_919191"

app:wheel_item_text_size="@dimen/m_size_23"

app:wheel_selected_item_text_color="@color/color_000000" />

android:id="@+id/mWheelPicker_2"

android:layout_width="0dp"

android:layout_height="0dp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintLeft_toRightOf="@id/mWheelPicker_1"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toTopOf="@id/mWheelPicker_1"

android:layout_marginRight="30dp"

app:wheel_atmospheric="true"

app:wheel_curtain_color="@color/m_blue"

app:wheel_curved="true"

app:wheel_cyclic="true"

app:wheel_indicator_color="@color/m_red_one"

app:wheel_indicator_size="@dimen/m_size_24"

app:wheel_item_text_color="@color/color_919191"

app:wheel_item_text_size="@dimen/m_size_23"

app:wheel_selected_item_text_color="@color/color_000000" />

java代码

val CEOYEAR = arrayListOf("2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030")

val CEOMONTH= arrayListOf("1","2","3","4","5","6","7","8","9","10","11","12")

val STARTYEAR = arrayListOf("2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027")

/**

* @desc : 两个滚动器

* @author : congge on 2020/2/20 17:20

**/

fun showTwoWheelPicker(context:Context,data1: MutableList,data2: MutableList,twoWheelListener: TwoWheelListener?){

var dialog = getDialog(context)

val window = dialog.window

window.setGravity(Gravity.BOTTOM)

window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)

window.setContentView(R.layout.dialog_two_wheel)

val wv1 = window.findViewById(R.id.mWheelPicker_1)

val wv2 = window.findViewById(R.id.mWheelPicker_2)

wv1.data = data1

wv2.data = data2

//取消

window.findViewById(R.id.cancel).setOnClickListener {

dialog.dismiss()

}

//确定

window.findViewById(R.id.ok).setOnClickListener {

dialog.dismiss()

twoWheelListener?.onOk(data1[wv1.currentItemPosition],data2[wv2.currentItemPosition])

}

}

interface TwoWheelListener {

fun onOk(str1: String, str2: String)

}

private fun getDialog(context:Context):Dialog{

return AlertDialog.Builder(context, R.style.mydialog).setCancelable(false).show()

}

四、总结

有更多需求的还是去阅读第三方库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值