Android“resource android:style/TextAppearance”错误解决方法

本文解决了在更新工程后遇到的资源找不到错误:resourceandroid:style/TextAppearance.Material.Widget.Button.Borderless.Colored。通过修改build.gradle文件中的compileSdkVersion为25,buildToolsVersion为25.4.0,以及使用特定版本的appcompat-v7依赖,成功解决了问题。

问题

更新工程后出现以下错误:
error: resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found.

在这里插入图片描述

解决办法

修改build.gradle文件:

  1. compileSdkVersion 修改成25
  2. buildToolsVersion 修改成25.4.0,implementation 'com.android.support:appcompat-v7:25.2.1'
<think>好的,用户提供的XML文件中有几个样式定义引用了Android系统的废弃样式,比如`@android:style/Animation.DropDownUp`和`@android:style/Animation.DropDownDown`。这些引用在较新的Android版本中已经被弃用,导致构建时出现资源找不到的错误。 首先,我需要确认用户遇到的问题是否与之前类似,即构建失败由于资源引用错误。用户之前的对话历史显示,他们遇到了类似的错误,并且解决方案涉及升级targetSdkVersion、更新Build-Tools以及替换废弃的样式引用。 接下来,分析用户提供的XML内容。发现`Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored`和`Base.TextAppearance.AppCompat.Widget.Button.Colored`这两个样式的parent引用了废弃的系统样式。正确的做法是将这些引用替换为AppCompat库中的替代方案,比如使用Theme.AppCompat的样式或者移除不必要的parent引用。 需要指导用户修改这些样式定义,替换为有效的父样式。同时,检查整个项目中是否有其他类似的废弃引用,确保所有资源引用都是有效的。 此外,用户可能需要清理项目缓存,更新SDK工具,并确保Unity版本兼容性。建议用户升级到更高版本的Unity,以获得更好的兼容性和支持。 最后,提供相关问题帮助用户进一步排查和解决类似问题,比如如何检测废弃引用、升级SDK版本等。</think>以下是修复 **`Error retrieving parent for item`** 的完整指南: --- ### 🔍 **错误原因** #### 1. **废弃的系统样式引用** - **关键错误**: `@android:style/Animation.DropDownUp` 和 `@android:style/Animation.DropDownDown` 已在 Android 高版本中废弃。 - **问题代码**: ```xml <style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="@android:style/Animation.DropDownUp" /> <style name="Base.TextAppearance.AppCompat.Widget.Button.Colored" parent="@android:style/Animation.DropDownDown" /> ``` - **冲突来源**: - 使用了 Android 低版本(如 API 19 以下)的系统动画样式。 --- ### ✅ **修复步骤** #### 1. **替换废弃样式** - **操作**: 将废弃的 `@android:style/Animation.DropDownUp` 替换为 AppCompat 兼容样式: ```xml <!-- 修改前 --> <style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="@android:style/Animation.DropDownUp" /> <!-- 修改后 --> <style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="Theme.AppCompat.Light.NoActionBar" /> ``` #### 2. **删除无意义的样式继承** - **操作**: 如果样式仅用于定义属性而非继承,移除 `parent` 引用: ```xml <!-- 修改前 --> <style name="Base.TextAppearance.AppCompat.Widget.Button.Colored" parent="@android:style/Animation.DropDownDown" /> <!-- 修改后 --> <style name="Base.TextAppearance.AppCompat.Widget.Button.Colored"> <!-- 直接定义属性 --> <item name="android:textColor">@color/your_color</item> </style> ``` #### 3. **检查全局资源冲突** - **操作**: 使用 [Android Resource Analyzer](https://github.com/tmurakami/android-resource-analyzer) 检查所有 XML 文件: ```bash java -jar android-resource-analyzer.jar analyze res/ ``` --- ### 🧪 **完整修复示例** #### 修复前(错误配置): ```xml <style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="@android:style/Animation.DropDownUp" /> ``` #### 修复后(推荐配置): ```xml <style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:textColor">@color/white</item> </style> ``` --- ### 📌 **注意事项** - **兼容性验证**: 使用 `Theme.AppCompat` 系列样式确保在低版本 Android 上正常显示。 - **Unity 项目适配**: 如果使用 Unity,确保 `Plugins/Android/res` 中的资源与 Unity 内置资源无冲突。 --- ### ✅ **最终验证** 1. **清理 Unity 缓存**: - 删除 `Temp/`、`Library/` 和 `UserSettings/`。 2. **重新构建项目**: - Unity → `File > Build Settings > Build`。 3. **安装测试**: - 在 Android 设备上运行应用,确认无资源加载错误。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值