AppCompatActivity as a dialog without title

2019-02-01 15:54发布

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!

5条回答
够拽才男人
2楼-- · 2019-02-01 16:32

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

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
查看更多
Explosion°爆炸
3楼-- · 2019-02-01 16:35

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();
查看更多
小情绪 Triste *
4楼-- · 2019-02-01 16:49

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();
查看更多
狗以群分
5楼-- · 2019-02-01 16:49

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>
查看更多
地球回转人心会变
6楼-- · 2019-02-01 16:50

Set below style in your style.xml

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

than set this theme in your activity

<activity
    android:name=".yourDailogActivity"
    android:configChanges="orientation"
    **android:theme="@style/CheckoutDialogTheme"**
    android:screenOrientation="portrait" />
查看更多
登录 后发表回答