2017-04-13 108 views
1

我試着去定製的寬度和高度分配給我的自定義對話框 , 使用在平板電腦上的作品的代碼IM棒棒糖及以上 但留下白斑運行Android奇巧我的手機上的對話框頂部。對話框定製寬度高度問題

enter image description here

代碼片斷

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> 

回答

0

解決方案1:前的setContentView

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

()。

解決方案2: 添加自定義風格

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

然後加入這一行清單檔案中的

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

謝謝

2

您應該添加requestFeature(Window.FEATURE_NO_TITLE)的setContentView

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

白色區域是標題,你可以用這種方式隱藏標題。

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