简介

相信大家都使用过各种布局,而对于各种布局都会使用到设置背景图片这个功能

市场上现在Android手机基本上大多数都是在4.4.4版本或以上,但是老一些的手机还是存的

所以针对Android的兼容性问题,我们还是要好好处理的。


处理方案

我们如何处理Android的兼容性问题了?

根本:就是对sdk版本所缺少的类或者方法做出相应处理即可


案例分析

案例一:setBackground

相信大家都或多或少的使用过,LinearLayout.setBackgroud(Drawable background) 但是有没有发现问题?

/*** Set the background to a given Drawable, or remove the background. If the* background has padding, this View's padding is set to the background's* padding. However, when a background is removed, this View's padding isn't* touched. If setting the padding is desired, please use* {@link #setPadding(int, int, int, int)}.** @param background The Drawable to use as the background, or null to remove the*        background*/public void setBackground(Drawable background) {//noinspection deprecationsetBackgroundDrawable(background);}/*** @deprecated use {@link #setBackground(Drawable)} instead*/@Deprecatedpublic void setBackgroundDrawable(Drawable background) {

@Deprecated 发现了么,这里调用setBackgroundDrawable其实已经过时了,不推荐使用该方法

使用Android Studio 的 windows+f2可以查看到如下信息

这个的意思是,在Api 16之后才有这个方法

也就是Android 4.1 Jelly Bean (API level 16) 之后才有这个方法,

如果在这之前的手机,调用这个方法,就会出现NoSuchMethodError错误

所以如果使用该方法就要做兼容处理,当然,你也可以使用setBackgroundResource方法代替

这个方法是从Api 1开始就有,所以就不用担心了。


案例二:Android 6.0删除HttpClient的相关类

解决方案:http://blog.csdn.net/yangqingqo/article/details/48214865


总结

以上就是setBackground兼容性的问题,解决,当然还有其他很多问题,暂时不举例了,碰到了,在依样画葫芦就可以直接解决,thanks。

Android 兼容性介绍之setBackground相关推荐

  1. Android框架介绍

    目录 Android发展历史 Android大事件 Android框架整体介绍 Android兼容性测试 CTS Verify GTS VTS 代码下载 代码编译 AndroidNN Android发 ...

  2. Android HIDL 介绍学习和实战应用

    什么是HIDL? 官方回答: HAL 接口定义语言(简称 HIDL,发音为"hide-l")是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL).HIDL 允许指定 ...

  3. Android开发介绍(基于Android Studio软件)

    Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...

  4. 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4396918.html 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体 ...

  5. android AsyncTask介绍(转)

    android AsyncTask介绍 AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接 ...

  6. Android类库介绍

    Android类库介绍 GPhone开发包Android SDK含了很多丰富的类库: android.util 涉及系统底层的辅助类库 android.os 提供了系统服务.消息传输.IPC管道 an ...

  7. 1.android体系结构介绍

    一.Android的介绍 android介绍见百度百科:Android的介绍,度娘把Android介绍的这么清楚,如果谷歌是Android的爹,那度娘就是娘了. 二.Android的架构图 andro ...

  8. android 兼容性定义,谷歌释出 Android 7.0 兼容性定义文件,史上最严

    原标题:谷歌释出 Android 7.0 兼容性定义文件,史上最严 每次跟随 Android 系统的更新,谷歌每年也会更新 Android 兼容性定义文档来确保 OEM 厂商的设备能够正常预装谷歌全家 ...

  9. CTS(16 )---Android 兼容性定义文档

    Android 兼容性定义文档 欢迎阅读 Android 兼容性定义文档 (CDD).本文档列举了设备需要满足哪些要求才能与最新的 Android 版本兼容.为了与 Android 兼容,设备实现必须 ...

最新文章

  1. 这样一款超低功耗的集成 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth LE 5.0的SOC,你怎么能不爱它?
  2. python读取视频分辨率_Python实现以不同分辨率分类视频
  3. ubuntu pip更新_Cubietruck开发板折腾002:安装Python管理工具pip
  4. STL内嵌数据类型: value_type
  5. 【Python 标准库学习】伪随机数生成库 — random
  6. vivado中如何读取十进制小数_二进制十进制间小数怎么转换,原来是这样的
  7. 深入理解定时器系列第三篇——定时器应用(时钟、倒计时、秒表和闹钟)
  8. linux 自带多路径工具,RHEL6使用系统自带多路径软件配置多路径
  9. Ubuntu 20编译安装GCC 7.3.0
  10. Axure| .rp的文件怎么转化为.rplib
  11. CRC校验算法的Verilog实现
  12. win10动态桌面_需要2020考研倒计时的动态桌面源的亲们在此留言
  13. ZKTeco live20R指纹采集识别适配谷歌浏览器
  14. 谁说Excel中不能输入“0”开头的数字?
  15. notes:poco httpserver and httpclient
  16. 安卓手机设置指定文件夹下的图片、视频不被相册读取到
  17. 鸡的开口药如何选择 什么药防治鸡开口病最快
  18. 智能型炉温测试仪kic x5软件,KIC X5 炉温测试仪产品说明ppt课件
  19. PYCharm 5 注册码破解
  20. centos7双机搭建_CentOS 7 配置 Keepalived 实现双机热备

热门文章

  1. Nginx配置文件编写(基础配置)
  2. OK,点不了,错误:virtualbox 硬件加速配置页中已启用硬件虚拟化,但主机并不支持。需要禁用硬件虚拟化才能启动虚拟机
  3. OpenAI ChatGPT API + FaskAPI SSE Stream 流式周转技术 以及前端Fetch 流式请求获取案例
  4. java在菜单的布局实例_6.Java-GUI布局管理器
  5. Qt Creator用法详解
  6. [还魂篇] 初来乍到如何致人于死地
  7. 三维图形的覆盖问题【附matlab代码】
  8. java 实现数据压缩与解压
  9. FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
  10. 华天动力OA系统的一“技”之长