Android Studio 应用程序在样式下更改主题时崩溃

euoag5mw  于 2023-08-07  发布在  Android
关注(0)|答案(3)|浏览(151)

我的安卓应用:

  • 目标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平台工具。谢谢你,谢谢

ifmq2ha2

ifmq2ha21#

对不起,我发现了问题,我的Activity是扩展AppCompatActivity而不是常规Activity,我现在明白了

ymdaylpp

ymdaylpp2#

在使用自定义样式时,您必须照顾您提供的父样式。尝试更改父主题,它可能会解决您的问题。

wqlqzqxt

wqlqzqxt3#

尝试将主机设备主题从深色更改为浅色或浅色更改为深色。我有一个类似的问题,这样做解决了我的事情。

相关问题