我的安卓应用:
- 目标AP*I:22
- 最小API*:15
- 设备 * 运行于:API级别22
我不明白这整个主题的概念,
在我的manifest.xml
中,我设置了android:theme="@style/AppTheme"
所有的活动都以这个为主题
现在我的理解是,它们都使用名为AppTheme
的主题,我现在可以通过在styles.xml
中扩展其他主题来定义该主题
在我的styles.xml
我有这个
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
字符串
我的理解是,AppCompat
主题允许我们在旧设备上使用较新的(比如材质主题)。我在API级别22和API级别15上运行这个应用程序,它工作得很好
现在当我把它改成
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- Customize your theme here. -->
</style>
</resources>
型
它给出了一个警告,说这个主题只能在API 21或更高版本上使用,这是正确的,现在当我忽略警告并在API 22上运行它时,它崩溃了。为什么?为什么?
我也试着把AppTheme的父主题设置为Holo,Light等,它们都使应用程序崩溃,为什么,请解释一下?
所有这些最终导致应用程序崩溃
<style name="AppTheme" parent="android:Theme.Translucent">
<style name="AppTheme" parent="android:Theme.Holo">
型
为什么这些不工作,Holo是在15日推出的权利?
我用22
你能详细说明主题之间的区别.....,BaseTheme....,Android......主题名称
我正在运行Android Studio 1.3,并使用最新版本(稳定)的SDK,SDK构建和SDK平台工具。谢谢你,谢谢
3条答案
按热度按时间ifmq2ha21#
对不起,我发现了问题,我的Activity是扩展AppCompatActivity而不是常规Activity,我现在明白了
ymdaylpp2#
在使用自定义样式时,您必须照顾您提供的父样式。尝试更改父主题,它可能会解决您的问题。
wqlqzqxt3#
尝试将主机设备主题从深色更改为浅色或浅色更改为深色。我有一个类似的问题,这样做解决了我的事情。