You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Android报错:未找到Resource android:style/AppTheme.Base

解决Xamarin Android中“未找到AppTheme.Base”的报错问题

嘿,刚帮你梳理了下代码,你遇到的未找到AppTheme.Base错误原因非常明确——你的资源文件里根本没有定义AppTheme.Base这个主题,但MyTheme却把它指定为父主题了!

问题出在哪?

看你的代码片段:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<!-- 这里引用了不存在的AppTheme.Base -->
<style name="MyTheme" parent="AppTheme.Base"></style>

你只定义了AppTheme作为基础主题,但MyTheme的父主题写的是AppTheme.Base,系统自然找不到这个未定义的主题,所以抛出错误。

两种解决方案,选适合你的:

方案1:直接让MyTheme继承AppTheme

如果你本来就不需要分层主题,只是写错了父主题名称,直接修改MyTheme的parent即可:

<style name="MyTheme" parent="AppTheme"></style>

方案2:先定义AppTheme.Base再使用

如果你原本的设计是要做主题分层(Base作为底层基础,AppTheme在它之上扩展),那需要先补上AppTheme.Base的定义:

<!-- 先定义基础的Base主题 -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<!-- 让AppTheme继承Base主题,可在此添加额外自定义属性 -->
<style name="AppTheme" parent="AppTheme.Base">
</style>

<!-- 现在MyTheme就能正常继承AppTheme.Base了 -->
<style name="MyTheme" parent="AppTheme.Base"></style>

额外小提示:你的启动屏主题有个小矛盾

看你的MyTheme.Splash配置:

<style name="MyTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- ...其他属性 -->
    <item name="android:windowActionBar">true</item>
</style>

你选的父主题是Theme.AppCompat.Light.NoActionBar(本身就不带ActionBar),但又设置了android:windowActionBar="true",这会导致样式冲突,建议删掉这个item,确保启动屏没有ActionBar和标题栏,符合启动屏的预期效果。

内容的提问来源于stack exchange,提问作者Kira Nofans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 15:38:10