テーマとして次のセットを持つアクティビティがあります。
Android:theme="@Android:style/Theme.Dialog"
ただし、表示されるアクティビティダイアログにはタイトルバーがあり、使用可能な小さなスペースを使い果たします。どうすれば削除できますか?
onCreate
でrequestWindowFeature(Window.FEATURE_NO_TITLE);
を実行してください。 super.onCreate
を呼び出した直後で、setContentView
の直前に実行する必要があります。
AppCompatActivity
を使用している場合、上記の回答が機能しない場合があります。
試してみてください
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.MyDialogActivity);
の直前
独自のテーマを定義できます:
<style name="NoTitleDialog" parent="@Android:style/Theme.Dialog">
<item name="Android:windowNoTitle">true</item>
</style>
(@Rehanへのヒント)互換性ライブラリを使用している場合は、AppCompat
親テーマを選択し、Android:
プレフィックスを省略してください。例えば:
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
すべてにTheme.AppCompat.xxx
を使用せざるを得ないAppCompatActivity
を使用している場合、これを使用してstyles.xml
のダイアログタイトルまたはアクションバーを削除できます。
<style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
name="windowActionBar"
の代わりにname="Android:windowActionBar"
を使用していることに注意してください。
AppCompatActivityを使用している場合、requestWindowFeature(Window.FEATURE_NO_TITLE)は機能しません。
このため、以下のようにvalues/style.xmlにカスタムテーマを作成できます。
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
アイテム名: "windowNoTitle"ではなくアイテム名: "Android:windowNoTitle"
Menifest.xmlでこのカスタムテーマを次のように適用します
<activity Android:name=".activity.YourActivity"
Android:theme="@style/NoTitleDialog"/>
または、getSupportActionBar()。hide()を使用して、プログラムでアクションバーを非表示にすることができます。
これはappcompatのために私のために働いた。
<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
ダイアログの場合、次のようにできます。
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
これは私のために働いた。
タイトルを無効にすることができました
style.xml
<style name="AppDialogScreenTheme" parent="Base.Theme.MaterialComponents.Light.Dialog">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
AndroidManifest.xml
<activity
Android:name=".MyActivity"
Android:theme="@style/AppDialogScreenTheme">
</activity>
これは私のために働いています、誰かにも役立つかもしれません:
style.xml
<style name="NoTitleActivityDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
AndroidManifest.xml
<activity
Android:name=".DialogActivity"
Android:theme="@style/NoTitleActivityDialog"/>