AppCompatActivity as a dialog without title

AndroidDialogAndroid Appcompat

Android Problem Overview


I have an Activity inherited from AppCompactActivity. in manifest for activity set theme:

<style name="Theme.custom" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="colorButtonNormal">@color/accent</item>
    <item name="android:buttonStyle">@style/ButtonStyle</item>
</style>

When I run activity, it shows as a dialog, but title is shown! i try supportRequestWindowFeature(Window.FEATURE_NO_TITLE) and RequestWindowFeature(Window.FEATURE_NO_TITLE) but title still displayed. Please let me know, What is wrong?


Edit

I solve it, only change android:windowNoTitle to windowNoTitle! because i am use AppCompactActvity!

Android Solutions


Solution 1 - Android

If you are having AppCompatActivity then the following won't work

requestWindowFeature(Window.FEATURE_NO_TITLE);

The simple way is to set it in the style.xml file.

<style name="mytheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
</style>

>It is name="windowNoTitle", not name="android:windowNoTitle"

If you want to remove it programmatically then add the following in onCreate()

getSupportActionBar().hide();

Solution 2 - Android

AppCompatActivity is different than Activity and has its own features. For the same purpose, you can simply use -

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

You can look up the documentation here

Note: Add this before setContentView() to avoid crash.

Solution 3 - Android

Set below style in your style.xml

<style name="customDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
</style>

then set this theme in your activity

<activity
    android:name=".yourDailogActivity"
    android:configChanges="orientation"
    **android:theme="@style/customDialogTheme"**
    android:screenOrientation="portrait" />

Solution 4 - Android

Should keep nothing over Activity title. if following these steps activity title will be hidden.

style.xml:

    </style>
        <style name="MyTitledActivityDialogTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

manifiest.xml:

 <activity
            android:name="YouActivity" 
            android:theme="@style/MyTitledActivityDialogTheme" />

YourClass.java:

after setContentView(R.layout.xyz) like this

  setContentView(R.layout.xyz);
  if (getSupportActionBar() != null)
      getSupportActionBar().hide();

Solution 5 - Android

please use the request window feature before setContentView() as below

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);

Solution 6 - Android

Should keep nothing over <string name="app_name"></string> .so when you run your activity it will show dialog with "NO Title".

string.xml:

         <resources>
               <string name="app_name"></string>
               <string name="hello_world">Hello world!</string>
               <string name="action_settings">Settings</string>
        </resources>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionh.kelidariView Question on Stackoverflow
Solution 1 - AndroidgprathourView Answer on Stackoverflow
Solution 2 - AndroidAl AminView Answer on Stackoverflow
Solution 3 - AndroidPankaj TalaviyaView Answer on Stackoverflow
Solution 4 - AndroidAttaullahView Answer on Stackoverflow
Solution 5 - AndroidAmDroidView Answer on Stackoverflow
Solution 6 - AndroidAmey BawiskarView Answer on Stackoverflow