AppCompatActivity as a dialog without title
AndroidDialogAndroid AppcompatAndroid 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>