没有标题栏的AppCompat Activity的对话框主题

3

我需要为一个Activity和推送到其中的Fragments创建一个对话框主题。以下是我应用于Activity的样式:

 <style name="DialogTheme" parent="Theme.AppCompat.Dialog">
        <item name="colorPrimary">@color/ColorPrimary</item>
        <item name="colorPrimaryDark">@android:color/transparent</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColorPrimaryInverse">@color/white</item>
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

我在Activity中将工具栏设置为支持操作栏,但是它会在工具栏上方显示一个带有应用程序名称的额外标题栏。如何避免这种情况?请帮忙。

我尝试了requestWindowFeature(Window.FEATURE_NOTITLE),但没有效果。我试图使用DialogFragment并设置getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); ,但也没有效果。


你修好了吗? - maclir
可能是AppCompatActivity作为没有标题的对话框的重复问题。 - Matej Snoha
3个回答

5
这段代码运行正常。如果想要从继承 ActionBarActivityAppcompatActivity 的活动中移除标题栏,可以选择对话框主题。
将代码添加到values-style文件夹中并创建自定义主题即可。
<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

在你的 AndroidManifest.xml 文件中添加代码。

 <activity
            android:name="<YourActivityName>"
            android:theme="@style/Theme.MyDialog" />

2
这段代码只是帮助我解决问题的。
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

1
额外的标题是活动的标签,所以您可以尝试这个代码,它对我有效。
<activity
      android:label=""
      android:name=".DialogActivity"
      android:theme="@style/DialogTheme"
      ></activity>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接