Android activity as dialog, but without a title bar
I have an activity that has the following set as theme:
android:theme="@android:style/Theme.Dialog"
However, there is a title bar in the activity-dialog that appears, that uses up the little available space that I have. How 开发者_如何学Ccan I remove it?
Try doing requestWindowFeature(Window.FEATURE_NO_TITLE);
in onCreate
. It'll need to be done immediately after calling super.onCreate
and just before setContentView
.
For those who are using AppCompatActivity
, above answers may not work.
Try this
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
immediately before setContentView(R.layout.MyDialogActivity);
You can define your own theme:
<style name="NoTitleDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
(Tip of the hat to @Rehan) If you're using the compatibility library, you should pick an AppCompat
parent theme and leave off the android:
prefix. For example:
<style name="NoTitleDialog" parent="@style/Theme.AppCompat.Dialog">
<item name="windowNoTitle">true</item>
</style>
If you are using AppCompatActivity
in which you are forced to use Theme.AppCompat.xxx
for everything, you can remove the dialog title or actionbar in styles.xml
using this:
<style name="Theme.MyDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
Notice the use of name="windowActionBar"
, instead of name="android:windowActionBar"
.
This one worked for me.
I was able to disable the 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>
This one worked for me for 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>
If you are using AppCompatActivity requestWindowFeature(Window.FEATURE_NO_TITLE) is not working.
for this you can create custom theme in values/style.xml as below:
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog.Alert">
<item name="windowNoTitle">true</item>
</style>
please note that item name:"windowNoTitle" not item name:"android:windowNoTitle"
In menifest.xml apply this custom theme as
<activity android:name=".activity.YourActivity"
android:theme="@style/NoTitleDialog"/>
or you can use getSupportActionBar().hide() to programmatically hide action bar.
This works for me, may it helps someone too :
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"/>
I try requestWindowFeature(Window.FEATURE_NO_TITLE); but not working for me, if you are like me so do this : first Add the following code in your res/values/styles.xml:
<style name="NoTitleDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowNoTitle">true</item></style>
Pass the theme to your dialog:
Dialog dialog = new Dialog(this, R.style.NoTitleDialog);
that's it very simple
精彩评论