Android-PickerView icon indicating copy to clipboard operation
Android-PickerView copied to clipboard

dialog模式下,无法设置dialog的宽度,在大屏上展示效果不佳

Open ysutommy opened this issue 7 years ago • 2 comments

ysutommy avatar Apr 12 '18 02:04 ysutommy

Dialog mDialog = timePickerView.getDialog(); if (mDialog != null) {

        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT,
                Gravity.CENTER);

        params.width = dialogWidth;//修改选择器弹框的宽度
        params.leftMargin = 0;
        params.rightMargin = 0;
        timePickerView.getDialogContainerLayout().setLayoutParams(params);

        Window dialogWindow = mDialog.getWindow();
        if (dialogWindow != null) {
            dialogWindow.setWindowAnimations(com.bigkoo.pickerview.R.style.picker_view_slide_anim);//修改动画样式
            dialogWindow.setGravity(dialogGravity);//改成Bottom,中间显示
        }
    }

Jerry930326 avatar Apr 25 '18 08:04 Jerry930326

@Jerry930326 我用你的方式 并没有修改成功 val pickerOptions = PickerOptions(PickerOptions.TYPE_PICKER_TIME) pickerOptions.context = activity pickerOptions.type = booleanArrayOf(false, false, false, true, true, false) pickerOptions.textContentCancel = "取消" pickerOptions.textContentConfirm = "确认" pickerOptions.cancelable = false pickerOptions.isCenterLabel = true pickerOptions.textSizeContent = 16 pickerOptions.textSizeTitle = 16 pickerOptions.isDialog = true pickerOptions.label_year = "年" pickerOptions.label_month = "月" pickerOptions.label_day = "日" pickerOptions.label_hours = "时" pickerOptions.label_minutes = "分" pickerOptions.label_seconds = "秒" pickerOptions.timeSelectListener = OnTimeSelectListener { date, _ ->

    }
    val pickerView = TimePickerView(pickerOptions)
    changeWidth(pickerView)
    pickerView.show()

private fun changeWidth(build: TimePickerView) {
    val mDialog = build.dialog
    if (mDialog != null) {
        val params = FrameLayout.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, WRAP_CONTENT, Gravity.BOTTOM)
        params.leftMargin = 200
        params.rightMargin = 200
        build.dialogContainerLayout.layoutParams = params
        val dialogWindow = mDialog.window
        if (dialogWindow != null) {
            dialogWindow.setWindowAnimations(com.bigkoo.pickerview.R.style.picker_view_slide_anim)
            dialogWindow.setGravity(Gravity.BOTTOM)
        }
    }
}

silveryTitan avatar Sep 15 '20 05:09 silveryTitan