为什么我应该为 21 api 提供替代样式,因为我知道 AppCompat 是为了兼容性而设计的
Why Should I provide an alternative style for 21 api knowing that AppCompat is made for compatibility
某些 material 设计仅从 android 21 API 开始受支持,因此为此我们需要提供可在 运行 早期设备上运行的替代样式版本 。 (就像他们在文档中所说的那样)。
例如:
res/values/styles.xml
res/values-v21/styles.xml
他们还提到了包含 Material 设计风格的 V7 支持库。
从这里我有点困惑!
假设我的默认主题扩展自 Theme.AppCompat
.
我为什么要为 21 api 提供替代样式,因为我知道 Theme.AppCompat
是为了兼容性而设计的?
您应该这样做以使用 api 21 中以前不存在的功能。
例如,在 api 21 及更高版本上,您可以将状态栏设为半透明,默认情况下,appcompat 不会这样做,因为这不是默认行为。
在一般意义上,AppCompat 向后移植了您通常需要担心的所有内容(始终添加新功能)。 AppCompat 本身正在为您完成替代样式的繁重工作。
从 AppCompat 开始,只有当您 运行 了解您需要的特定功能时才创建替代样式(您可能不会)。
某些 material 设计仅从 android 21 API 开始受支持,因此为此我们需要提供可在 运行 早期设备上运行的替代样式版本 。 (就像他们在文档中所说的那样)。
例如:
res/values/styles.xml
res/values-v21/styles.xml
他们还提到了包含 Material 设计风格的 V7 支持库。
从这里我有点困惑!
假设我的默认主题扩展自 Theme.AppCompat
.
我为什么要为 21 api 提供替代样式,因为我知道 Theme.AppCompat
是为了兼容性而设计的?
您应该这样做以使用 api 21 中以前不存在的功能。 例如,在 api 21 及更高版本上,您可以将状态栏设为半透明,默认情况下,appcompat 不会这样做,因为这不是默认行为。
在一般意义上,AppCompat 向后移植了您通常需要担心的所有内容(始终添加新功能)。 AppCompat 本身正在为您完成替代样式的繁重工作。
从 AppCompat 开始,只有当您 运行 了解您需要的特定功能时才创建替代样式(您可能不会)。