【问题标题】:Dialog theme for AppCompat Activity with No title bar没有标题栏的 AppCompat Activity 的对话框主题
【发布时间】:2016-01-11 03:12:10
【问题描述】:

我需要一个 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>

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

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

【问题讨论】:

标签: android android-appcompat


【解决方案1】:

此代码运行良好。用于从扩展 ActionBarActivityAppcompatActivity 的 Activity 中移除标题栏,并带有对话框主题。

将代码添加到您的 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】:

    额外的标题是活动的标签,所以你可以试试这个对我有用的代码。

    <activity
          android:label=""
          android:name=".DialogActivity"
          android:theme="@style/DialogTheme"
          ></activity>
    

    【讨论】:

      【解决方案3】:

      此代码仅帮助我解决问题。

      supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多