Android-PickerView 如果横屏太宽 可以这样

0pizxfdo  于 2022-10-22  发布在  Android
关注(0)|答案(1)|浏览(222)
val selectedDate = Calendar.getInstance()
        val startDate = Calendar.getInstance()
        val endDate = Calendar.getInstance()
        startDate.set(2019, 0, 1)
        endDate.set(2030, 11, 31)

        //时间选择器
        val pvTime = TimePickerBuilder(this) { date, _ ->
            Toasty.success(this, simpleDateFormat.format(date)).show()
            textView.text = simpleDateFormat.format(date)
        }
            .setType(booleanArrayOf(true, true, true, false, false, false))// 默认全部显示
            .setCancelText("取消")//取消按钮文字
            .setSubmitText("确定")//确认按钮文字
            .setTitleSize(18)//标题文字大小
            .setTitleText("请选择日期")//标题文字
            .setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
            .isCyclic(true)//是否循环滚动
            .setTitleColor(-0xd53e14)//标题文字颜色
            .setSubmitColor(-0xfa8201)//确定按钮文字颜色
            .setCancelColor(-0xfa8201)//取消按钮文字颜色
            .setTitleBgColor(-0xf0f10)//标题背景颜色 Night mode
            .setBgColor(-0x1f000001)//滚轮背景颜色 Night mode
            .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/
            .setRangDate(startDate, endDate)//起始终止年月日设定
            .setLabel("年", "月", "日", "时", "分", "秒")//默认设置为年月日时分秒
            .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
            .isDialog(true)//是否显示为对话框样式
            .build()

        pvTime.show()

        //设置半个屏幕宽度
        val window = pvTime.dialog.window
        //获取LayoutParams对象
        val lp = window?.attributes
        //设置透明度
        lp?.alpha = 1.0F
        //设置模糊度
        lp?.dimAmount = 0.5F
        //设置宽高
        val dm = resources.displayMetrics
        lp?.width = (dm.widthPixels * 0.5).toInt()
        lp?.height = (dm.heightPixels * 0.5).toInt()
        //应用设置
        window?.attributes = lp

相关问题