我可以将 AppCompat 主题与 Activity/FragmentActivity 类一起使用吗?

Posted

技术标签:

【中文标题】我可以将 AppCompat 主题与 Activity/FragmentActivity 类一起使用吗?【英文标题】:Can I use AppCompat theme with Activity/FragmentActivity classes? 【发布时间】:2017-02-03 20:39:04 【问题描述】:

鉴于以下情况:

    android 文档说:

    AppCompatActivity - 添加一个应用程序活动类,该类可用作使用支持库操作栏实现的活动的基类。

    我不考虑在我的活动中添加操作栏 我需要一些材料设计小部件,我只能通过 AppCompat 或材料主题来控制,但最新需要 API >= 21,这不是我的情况。 我用 Activity 类测试了 Theme.AppCompat.Light.NoActionBar,效果很好。

--

在我的情况下使用带有 AppCompat 主题的 Activity 类有问题吗?

【问题讨论】:

【参考方案1】:

AppCompat 库旨在与较旧的 API 兼容,因此主题和所有组件可能在较旧的系统中运行良好。

我认为唯一需要注意的是始终使用 AppCompat 元素而不是常规元素。

例如,使用 AppCompatEditText、AppCompatTextView 等...并始终使用 AppCompat (AppCompatEditText editText;) 引用它们

我已经使用了很多支持库并且没有其他问题,考虑到使用小于 21 的 API 时视觉元素可能会有些不同

【讨论】:

【参考方案2】:

没有。AppcompactActivity 和支持 libaray 没有问题。 You can refere this link

为了获得更丰富和令人惊叹的外观,请使用支持库,尝试做材料设计

【讨论】:

以上是关于我可以将 AppCompat 主题与 Activity/FragmentActivity 类一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android 如何获取支持操作栏的 AppCompat.Translucent 类型主题?

如何使用主题和 Theme.AppCompat.DayNight 更改操作栏中的文本颜色

proguard - AppCompat 不支持 proguard/minify 后的当前主题功能

升级到 AppCompat v22.1.0 现在得到 IllegalArgumentException: AppCompat 不支持当前主题功能

Android Studio:我还可以在清单中使用带有appcompat主题的HOLO Light DatePicker吗?

使用 AppCompat 为 Android 中的按钮着色