png放到android里 上下被切,把.png 图片放到drawable-v21 导致的错误(在API 21 以下的手机运行时)...

本文主要是介绍png放到android里 上下被切,把.png 图片放到drawable-v21 导致的错误(在API 21 以下的手机运行时)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

若程序一运行 主界面就报错 提示XXX停止运行 ,

1.log 中给的提示是 这一行报错

setContentView(R.layout.welcome_layout);

2.定位到是XML 文件有错 ,然后 接着看log,提示说 Binary XML file line #59: Error inflating class ImageButton XML 中第59行 有错。之后找到imageButton ,

3.又看到 Resource is not a Drawable (color or path): 此时查看 是 src 还是background 中 引用了drawable ,但是这个drawable 是png 还是xml呢? 然后 进入到res 目录下看到 因为 使用V7 所以出现的 drawable-v21 这个目录 这个目录下 原本 只能放xml 文件,但是发现一张png 图片 错误的放在里面。

解决办法: 把 png 图片 放到drawable-xhdpi 这种资源包下 即可

android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f02004a a=-1 r=0x7f02004a}

e0d72f6b2e7a9355dd67549207c03e15.png

7c1c83c26dd14a43ec018296eb9a97b0.png

29e26a39976598b2a26022d5798ab778.png

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.bala.welcomescreens, PID: 10894 java.lang.RuntimeException: Unable to startactivityComponentInfo{com.bala.welcomescreens/com.bala.welcomescreens.IntroScreenActivity}: android.view.InflateException: Binary XML file line #59: Error inflating class ImageButton

——————————————————————————————

从 github上获取的项目 用 gradle构建时 出现的错误。

注意:

前几天在github 上 问了大神,大神回复我了,具体是兼容的问题,也就是版本问题

.png 放在drawable -v21 支持API 21 以上的 ,而我当时用的手机是19 所以导致的这个错误,所以 一个很好的教训 ,现在开发 要多注意版本兼容问题。

大神的回复 如下:

0c2fce957fd6f98bff23491b9e3e89b8.png

int currentapiVersion = android.os.Build.VERSION.SDK_INT;

if (currentapiVersion < android.os.Build.VERSION_CODES.LOLLIPOP){

// Do something for lollipop and above versions

} else{

// do something for phones running an SDK before lollipop

}

这篇关于png放到android里 上下被切,把.png 图片放到drawable-v21 导致的错误(在API 21 以下的手机运行时)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/220865

相关文章

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class