私はテーマTheme.Transparentのアクティビティがあります:
<style name="Theme.Transparent" parent="Android:Theme.Dialog">
<item name="Android:windowIsTranslucent">true</item>
<item name="Android:windowNoTitle">false</item>
<item name="Android:windowIsFloating">true</item>
<item name="Android:backgroundDimEnabled">false</item>
<item name="Android:gravity">top</item>
</style>
境界線とその周囲のパディングを取り除こうとしています。画面の水平方向を塗りつぶします。灰色の境界線はありません。助けてください :)
カスタムテーマを参照するダイアログを必ず作成してください。
Dialog dialog = new Dialog(this, R.style.MyDialogTheme);
カスタムテーマは、画面いっぱいに表示され、いくつかの Androidフレームワークのデフォルト を無効にする必要があります。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyDialogTheme" parent="Android:Theme.Dialog">
<!-- Fill the screen -->
<item name="Android:layout_width">fill_parent</item>
<item name="Android:layout_height">fill_parent</item>
<!-- No backgrounds, titles or window float -->
<item name="Android:windowBackground">@null</item>
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowIsFloating">false</item>
<!-- Just to prove it's working -->
<item name="Android:background">#ff0000</item>
</style>
</resources>
上記と同じですが、xmlではなくコードで実行するとうまくいきました。
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
幅と高さを親コンテナに一致するように設定します。
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = dialog.getWindow()
.getAttributes();
wmlp.width = Android.view.WindowManager.LayoutParams.MATCH_PARENT;
wmlp.height = Android.view.WindowManager.LayoutParams.WRAP_CONTENT;
以下は私にとって完璧に機能します。全幅ダイアログ(パディングなしで画面の幅を満たす)を使用できますが、高さはwrap_contentを使用し、ビルダーで行う他のすべてのスタイルを保持します。
<item name="windowMinWidthMajor">100%</item>
<item name="windowMinWidthMinor">100%</item>
<item name="Android:windowBackground">@null</item>
<item name="Android:windowIsFloating">true</item>
<item name="Android:background">#ffffff</item>
背景は必須です。そうでないと、奇妙な繰り返しになりますが、これをダイアログの背景にしたい色に設定するだけです。サイズを正しく折り返すには、WindowBackgroundとWindowIsFloatingが必要です。
次のようにテーマをビルダーに追加します。
ビルダー=新しいAlertDialog.Builder(_context、R.style.DialogTheme);よろしくお願いします!