屏幕适配详解

一、什么是屏幕适配

适配的理解就是在程序运行的时候,程序在不同硬件上能够展示如设计那样的效果。

        不适配的情形有:带文字的控件宽度不够,文字展示不全;图标,Bar,按钮过小或者过大。

个人理解,需要做好Android系统硬件的适配,需要分为两个方面:

        (1)同一分辨率下,不同屏幕大小【手机 -- IPad -- 电视】;

        (2)同一屏幕尺寸下,不同屏幕分辨率。

         对于第一种情形,处理的更多方式是直接另起一个APP,其内置展示页面以及业务逻辑,因为屏幕之间巨大的差异,已经发生了质的变化,甚至可以说是不同的APP。

         手机本身也存在多种尺寸,但因为其相差不是很大,屏幕长宽的比例依旧保持相差不大。也归纳到同一屏幕尺寸下,不同分辨率的适配。

         当然,在同一APP中,也能够实现屏幕尺寸发生巨大差异的处理。其维护及实现复杂度相比于再开启一个APP的代价似乎更大。

二、尺寸适配怎么做

尺寸适配的话需要我们在project下的res根目录下建立如下的文件夹



图中的三个文件夹中的dimen.xml文件就是我们针对不同的手机分辨率做出的尺寸适配的方法

其中values文件夹中的dimens.xml是我用来处理当手机屏幕分辨率过低找不到合适的尺寸适配时,系统会选用values中的dimens.xml作为默认的尺寸

三、什么是9.png图片

PNG,是一种非失真性压缩 位图图形文件格式。PNG格式是非失真性压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备阿尔法通道(半透明)等特性。现在有很多人使用PNG格式于互联网及其他方面上。PNG的的英文名称为Portable Network Graphics,即 便携式网络图片。另有说法是名称来源于非官方的“PNG is Not GIF”。
什么叫.9.PNG呢,这是安卓开发里面的一种特殊的图片
这种格式的图片在android 环境下具有自适应调节大小的能力。
(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。
(2)允许开发人员定义内容显示区,用于显示文字或其他内容

如下图所示:
左侧和上方的黑线交叉的部分即可扩展区域
右侧和下方的黑线交叉的部分即内容显示区域(如做button背景图时,button上文字的显示区域)
用它可以实现部分拉伸,从而实现图片在 安卓系统上的完美应用
拆过系统framework-res.apk包的机油们细心点看,里面有许多有.9.PNG后缀的图片
这些图片是经过 安卓的工具进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现。

四、文字国际化怎么做

1. 新建一个中文资源文件夹

    values-zh

         strings.xml

2.新建一个英文资源文件夹

    values-en

         strings.xml


说明:

       现在共有三个资源文件夹

        1> values    默认资源文件夹(系统环境不是中文,也不是英文时,就显示此文件夹中资源)

        2> values-zh    当系统环境是中文时,显示此文件夹中资源

        3> values-en    当系统环境是英文时,显示此文件夹中资源,细分英文时 values-en-rUS


五、横竖屏适配怎么做

在res目录下建立layout-land目录,相应的layout文件名不变,比如main.xml。layout-land是横屏的layout,其他的不用管,横竖屏切换时程序为调用Activity的onCreate方法,从而加载相应的布局。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值