繁体   English   中英

如何删除DatePickerDialog中的空格?

[英]How to remove white space in DatePickerDialog?

当我在大屏幕上启动应用程序时, DatePickerDialog的右侧有一个额外的空间。

对话框的源代码:

val datePicker = DatePickerDialog.OnDateSetListener { 
view, year, monthOfYear, dayOfMonth -> if (view.isShown) { 
myCalendar.set(Calendar.YEAR, year)
 myCalendar.set(Calendar.MONTH, monthOfYear) 
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth)
 addTimer(isAct) 
}
 } 
DatePickerDialog(this, datePicker, myCalendar!! .get(Calendar.YEAR), myCalendar!!.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show()

谁能告诉怎么调整?

您可以将布局参数设置为换行内容以删除日期选择器对话框的空白区域。 该对话框将位于窗口的中心。 试试这个——

@Override
public void onStart() { 
    // This MUST be called first! Otherwise, the view tweaking will not be present in the displayed Dialog (most likely overridden)
    super.onStart();

    makeWrapContent(myCustomView);
}

制作视图内容的简单方法--

protected void makeWrapContent(View v) {

    View current = v;          
    do {
        // Get the parent
        ViewParent parent = current.getParent();    

        // Check if the parent exists
        if (parent != null) {
            // Get the view
            try {
                current = (View) parent;
            } catch (ClassCastException e) {
                break;
            }

            // Modify the layout
            current.getLayoutParams().width = LayoutParams.WRAP_CONTENT;
        }
    } while (current.getParent() != null);

    // Request a layout to be re-done
    current.requestLayout();
}

将您的 XML 文件更改为

匹配父级以包装内容

android:layout_width="wrap_content"

我遇到过类似的问题。 就我而言,我传递的是对话上下文而不是活动的上下文。

你在哪里显示 DatePickerDialog ? (来自对话框、活动或片段)检查传递给 DatePickerDialog 的上下文。

要快速修复,请尝试为 DatePickerDialog(activity,...) 传递活动,以便它始终获取活动上下文。

Java DatePickerDialog(getActivity(),...)

Kotlin DatePickerDialog(activity,...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM