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全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

java中4种API参数传递方式统一说明

《java中4种API参数传递方式统一说明》在Java中,我们可以使用不同的方式来传递参数给方法或函数,:本文主要介绍java中4种API参数传递方式的相关资料,文中通过代码介绍的非常详细,需要的... 目录1. 概述2. 参数传递方式分类2.1 Query Parameters(查询参数)2.2 Path

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻