2017-03-18 8 views
1

ダイアログがコーナーに完全に表示されます。私は、重力をこのように設定しています:DialogFragment重力がコーナーに完全にダイアログを表示しない

Window win = dialog.getWindow(); 
    WindowManager.LayoutParams wmlp = win.getAttributes(); 
    wmlp.gravity = Gravity.TOP | Gravity.RIGHT; 
    wmlp.horizontalMargin = 0; 
    wmlp.verticalMargin = 0; 

マージンがここには何も影響しません。レイアウトインスペクタもダイアログでは動作しませんので、マージン/パディングの設定を実際に調べることはできません。

enter image description here

私は(ダイアログとして働き、画面全体にわたるカスタムオーバーレイの断片を再作成せずに)コーナーで完全にこのダイアログフラグメントを表示することができますか?

答えて

0

この余分なパディング/マージンは、バックグラウンドドロワブルと関係する場合があります。このような何かを行うことによって透明にandroid:windowBackgroundandroid:backgroundを設定するには、ダイアログのスタイルを変更します。

<style name="TransparentDialog" parent="@style/Theme.AppCompat.Light.Dialog"> 
     <item name="android:windowBackground">@android:color/transparent</item> 
     <item name="android:background">@android:color/transparent</item> 
    </style> 

(私はandroid:windowBackgroundがここに重要であり、あなたがandroid:backgroundを設定する必要はないかもしれないと信じています。)

解決策の提供に協力してくれたthis questionに感謝したアンドリューに感謝します。

関連する問題