Android activity as dialog, but without a title bar

落爺英雄遲暮 提交于 2019-11-27 12:32:26
Femi

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);

Ted Hopp

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".

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 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>

for dialogs, you can do it like:

Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

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"/>

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>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!