找不到与给定名称匹配的资源(在'主题'中,值为'@ android:style/Theme.my_theme').(APT0000)

use*_*145 2 android android-theme xamarin

我最近安装了Xamarin Android全新版本(版本5.10.1 build 6).当我尝试添加主题时,我遇到了可怕的"找不到资源..."错误.
这是我试图添加的第一个主题,所以我不确定问题是否可能是由于我在代码中编写的内容.然而,在StackOverflow和Xamarin论坛上搜索,我发现这个问题可能意味着没有安装某些Android库.

所以我已经安装了来自最新和以前的API以及Extras的更多东西,但我仍然得到同样的错误.
该应用程序只是一个针对手机的简单应用程序,所以我没有安装磨损或电视库.我还需要多久才能使用Android API?
还有什么我应该安装的并不明显吗?

对于这个特定的错误,已经有很多答案,但是其中很多都是模糊的,并没有给出确切的说明,或者提到我不认识的组件,我想是因为我使用的是Xamarin.

这是我的主题代码.

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
  <style name="Theme.my_theme" parent="@android:style/Theme.DeviceDefault.Light.DialogWhenLarge">
    <item name="android:textColor">#00FF00</item> <item name="android:typeface">monospace</item> <item name="android:textSize">20sp</item>
  </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

这是清单.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="My_app.My_app">
    <uses-sdk android:minSdkVersion="17" />
    <application android:label="My_app" android:theme="@android:style/Theme.my_theme" android:icon="@drawable/icon"></application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

以下是显示已安装内容的Android管理器.有没有明显没有安装的东西?

androidmanager1 androidmanager2 androidmanager3 androidmanager4

mat*_*dev 5

表达@android:style/Theme.my_theme是指向一个名为资源Theme.my_theme的内部android命名空间,而不是你的本地应用程序包.

更改android:theme="@android:style/Theme.myTheme"android:theme="@style/Theme.myTheme"以修复错误.

  • 是的,它成功了.我没有意识到@style是用于本地定义的东西.谢谢. (2认同)