【问题标题】:How to use android:Theme.Material and Toolbar together?如何同时使用 android:Theme.Material 和 Toolbar?
【发布时间】:2016-06-13 22:26:27
【问题描述】:

我正在创建一个使用 Material Design 组件的 android 应用程序。我使用了 Material Design 主题(android:Theme.Material),通过 android:Theme.Material 扩展了我的风格。

<style name="MyMaterialTheme.Base" parent="android:Theme.Material.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:navigationBarColor">@color/navigationBarColor</item>
    <item name="android:displayOptions">disableHome</item>
</style>

现在,问题是我也想使用工具栏,但由于我遵循了许多教程,如果我想使用工具栏,我需要将 Theme.AppCompat 作为我的父主题。 p>

我尝试使用 Material Design Theme,但将错误抛出为

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

所以,我的问题是,我不能将 Material Design 主题与 Toolbar 一起使用(因为我也在使用 Card Views,所以 Material Design 主题更可取)?

注意:-我已经使用 AppCompact 主题集成了工具栏,但我只想使用 Material Design 主题。

【问题讨论】:

    标签: android android-actionbar material-design android-toolbar android-appcompat


    【解决方案1】:

    将父级设置为“@android:style/Theme.Material.Light.NoActionBar”并在您的活动中使用 AppCompatActivity。

    【讨论】:

    • 我已经使用 AppCompact 主题集成了工具栏,但我只想使用 Material Design 主题。
    • 好的,然后使用这个父级:“@android:style/Theme.Material.Light.NoActionBar”
    【解决方案2】:

    你得到了

    java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
    

    因为您的 Activity 扩展自 AppCompatActivity 并且要使用它,您的活动主题必须具有 Theme.AppCompat 或后代。

    您可以在活动中使用Toolbar,而无需像post 那样从AppCompatActivity 扩展。但是你仍然需要一个Theme.AppCompat 的后代。

    顺便说一句。为什么特别需要android:Theme.Material

    【讨论】:

    • 我想应用 Material Design 的所有功能,这就是我使用 Material Theme 的原因
    【解决方案3】:

    您需要更新清单中的主题。

    编辑您的主题条目,使其如下所示:

    android:theme="@style/Theme.AppCompat"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2013-01-15
      • 1970-01-01
      相关资源
      最近更新 更多