1. 程式人生 > >Android Dialog/AlertDialog 無法橫向鋪滿螢幕

Android Dialog/AlertDialog 無法橫向鋪滿螢幕

在Android 5.0以上 自定義Dialog時發現無法橫向鋪滿螢幕 


分析解決辦法: 
查詢父類Dialog的style和theme,發現background背景屬性: 

Android èªå®ä¹ Dialog æ æ³æ¨ªåéºæ»¡å±å¹
到原始碼一檢視 

Android èªå®ä¹ Dialog æ æ³æ¨ªåéºæ»¡å±å¹
 
一張.9圖片 
so 是因為背景的.9圖四周 邊距太寬的原因,和寬度設定無關。其實是填滿了的,只是四周是透明的而已。

接下來說說解決辦法: 
方法一:自定義style,繼承Theme.Dialog,重寫背景屬性:

 

<style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/white</item>
        <item name="android:backgroundDimEnabled">true</item>
</style>


然後在 程式碼新增Style 
 

Dialog dialog = new Dialog(this,R.style.dialog);

方法二:

/**
 * 5.0以上預設有個.9圖片作為背景,導致不能鋪滿橫向螢幕
 */
dialogWindow.setBackgroundDrawableResource(android.R.color.white);
 

 

 

 

 

 

轉載連結

https://blog.csdn.net/u011183394/article/details/51445202