对话框自定义宽高问题

Dialog custom width height issue

我正在尝试为我的自定义对话框分配自定义宽度和高度 , 我使用的代码适用于平板电脑 lolipop 及更高版本 但在我的 phone 运行 android kitkat .

的对话框顶部留下了一个白色补丁

代码片段

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_documentationissue_notification);
dialog.setCancelable(true);

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int width = (int) (displaymetrics.widthPixels * 0.90);
int height = (int) (displaymetrics.heightPixels * 0.70);
dialog.getWindow().setLayout(width,height);
//dialog.getWindow().getAttributes().windowAnimations = R.style.NotificationDialogAnimation;
dialog.show();

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@android:color/transparent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.15"
        android:background="#3F51B5"
        android:orientation="vertical">

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.85"
        android:background="@color/white"
        android:orientation="vertical">

        <View
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

</LinearLayout>

您应该在 setContentView.

之前添加 requestFeature(Window.FEATURE_NO_TITLE)
 dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); //Optional
 dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
 dialog.setContentView(R.layout.dialog_documentationissue_notification);

那个白色区域是标题,你可以这样隐藏标题。

 dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before     
 dialog.setContentView(R.layout.logindialog);

解决方案 1:

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

在 setContentView() 之前。

方案二: 添加自定义样式

<style name="myDialog" parent="android:style/Theme.Dialog">
   <item name="android:windowNoTitle">true</item>
</style>

然后在您的清单文件中添加这一行

<activity android:name=".youractivity" android:theme="@style/myDialog"></activity>

谢谢,