微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 7.1.1上的DatePicker添加了额外的填充/边距

我正在尝试创建一个显示DatePicker的自定义对话框,但该元素在视图右侧添加了额外的边距/填充.这种情况仅发生在 Android 7.1.1,Nexus 6P上,但在其他低分辨率手机上运行得非常好.如何删除额外的填充?
我的XML布局代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <DatePicker
        android:id="@+id/date_picker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:endYear="2012"
        android:startYear="1930" />

</LinearLayout>

在Android 7.1.1上看起来像这样:

编辑:添加了我的Java代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_user_attributes);

    assert getSupportActionBar() != null;
    getSupportActionBar().setTitle("Register");

    final TextView birthDateSelectedTextView = (TextView) findViewById(R.id.text_view_birth_date);
    Button dialogopenButton = (Button) findViewById(R.id.button_dialog_date_picker);
    dialogopenButton.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final Dialog dialog = new Dialog(UserAttributesActivity.this);
            final AlertDialog.Builder builder = new AlertDialog.Builder(UserAttributesActivity.this);
            LayoutInflater inflater = getLayoutInflater();
            View dialogView = inflater.inflate(R.layout.dialog_date_picker,null);
            builder.setView(dialogView);
            final DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.date_picker);

            builder.setPositiveButton("OK",new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog,int which) {
                    day = datePicker.getDayOfMonth();
                    month = datePicker.getMonth() + 1;
                    year = datePicker.getYear();
                    String date = "" + day + "/" + month + "/" + year;
                    birthDateSelectedTextView.setText(date);
                }
            });
            builder.setNegativeButton("Cancel",int which) {
                }
            });
            builder.show();
        }
    });
}

解决方法

使用AlertDialog.Builder添加样式,如下所示.
AlertDialog.Builder builder = new AlertDialog.Builder(UserAttributesActivity.this,android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar);

原文地址:https://www.jb51.cc/android/308631.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐