Android应用开发之关于安卓屏幕适配的详细教程
凌雪 2018-09-20 来源 :网络 阅读 371 评论 0

摘要:本文将带你了解Android应用开发之关于安卓屏幕适配的详细教程,希望本文对大家学Android有所帮助。

本文将带你了解Android应用开发之关于安卓屏幕适配的详细教程,希望本文对大家学Android有所帮助。


屏幕的适配
    一.什么是屏幕适配
1.定义:简单说就是解决在不同屏幕尺寸中使其尺寸单位,图片,文字,依然出现预期的效果。
    注意:屏幕的适配实际上就是在res文件夹中创建不同的文件夹
2.重要的概念
    在了解屏幕适配之前我们要了解屏幕的尺寸,分辨率,等等重要概念。
    屏幕尺寸
    含义:手机对角线的物理尺寸
    单位:英寸(inch),1英寸=2.54cm
    Android手机常见的尺寸有5寸、5.5寸、6寸等等
    屏幕分辨率
    含义:手机在横向、纵向上的像素点数总和
    一般描述成屏幕的”宽x高”=AxB
含义:屏幕在横向方向(宽度)上有A个像素点,在纵向方向
    (高)有B个像素点
    例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有1920个像素点
    单位:px(pixel),1px=1像素点
UI设计师的设计图会以px作为统一的计量单位
Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920
屏幕像素密度
    含义:每英寸的像素点数
    单位:dpi(dots per ich)
    假设设备内每英寸有160个像素,那么该设备的屏幕像素密度=160dpi
安卓手机对于每类手机屏幕大小都有一个相应的屏幕像素密度:
   
   
     
     
     密度类型
     
     代表的分辨率(px)
     
     屏幕像素密度(dpi)
     
   
   
     
     低密度(ldpi)
240x320
     120
     
     
     中密度(mdpi)
320x480
     160
     
     
     高密度(hdpi)
480x800
     240
     
     
     超高密度(xhdpi)
720x1280
     320
     
     
     超超高密度(xxhdpi)
1080x1920
     480
     
   
   
    二.尺寸的适配
    需要把试图调成project (不能使用Android视图)
   
    1.创建一个文件夹 values-加上屏幕的尺寸
   
   
    2.在values-1080x980中创建文件 dimens:
   
    3.文件内容:
   
    4.之后用同样的方法闯将多个屏幕尺寸
   
    5.在布局文件中用@dimin/设置的name使用该尺寸
   
    之后调整分辨率可以发现尺寸发生明显变化
   
   
    三.图片的适配
    本质:使得图片资源在不同屏幕密度上显示相同的像素效果
    1.实现图片适配
    做法:提供备用位图(符合屏幕尺寸的图片资源)
    由于 Android 可在各种屏幕密度的设备上运行,因此我们提供的位图资源应该始终可以满足各类密度的要求:
| 密度类型 | 代表的分辨率(px) | 屏幕像素密度(dpi)   |
    | 低密度(ldpi) |240x320 120 |
   
   
     
     
     密度类型
     
     代表的分辨率(px)
     
     系统密度(dpi)
     
   
   
     
     低密度(ldpi)
240x320
     120
     
     
     中密度(mdpi)
320x480
     160
     
     
     高密度(hdpi)
480x800
     240
     
     
     超高密度(xhdpi)
720x1280
     320
     
     
     超超高密度(xxhdpi)
1080x1920
     480
     
   
   
    步骤1.根据以下尺寸范围针对各密度生成相应的图片。
    比如说,如果我们为 xhdpi 设备生成了 200x200 px尺寸的图片,就应该按照相应比例地为 hdpi、mdpi   和 ldpi 设备分别生成 150x150、100x100 和 75x75 尺寸的图片
    即一套分辨率=一套位图资源(这个当然是Ui设计师做了)
    步骤2.将生成的图片文件放在 res/ 下的相应子目录中(mdpi、hdpi、xhdpi、xxhdpi),系统就会根据运行您应用的设备的屏幕密度自动选择合适的图片
   
    步骤3.通过引用 @drawable/id,系统都能根据相应屏幕的 屏幕密度(dpi)自动选取合适的位图。
    注:如果是9.png格式图或者是不需要多个分辨率的图片,放在drawable文件夹即可
    对应分辨率的图片要正确的放在合适的文件夹,否则会造成图片拉伸等问题。
    2.9.png格式的图片
    微信聊天小气泡就是9.png
注意:在使用时把9.png的图片拷贝进入项目时黑点会消失,出现报错,只需打开图片添加黑点。
    特点:可以无限拉伸,不变形
    上下左右都有黑条,或者黑点。黑点要与一条黑线相对。 黑线代表文字地位置 黑点是图片拉伸的位置
   
    2.制作9.png的图片
    四.文字适配(文字国际化)
步骤1.创建文件夹
   
    步骤2.创建不同文字资源
   
    注意:文字资源的名必须相同 此处都为strings.xml
   
    注意:name必须统一
   
    步骤3.使用文件资源
   
    之后切换手机的语言为English
   
   
    五.横竖屏布局适配
1.创建layout-land文件夹
   
    两个布局文件名字相同但是布局内容发生改变,从而实现屏幕适配
    layout文件夹下:
<!--?xml version="1.0"   encoding="utf-8"?--><linearlayout   android:layout_height="match_parent"   android:layout_width="match_parent"   android:orientation="vertical" tools:context="com.example.a22120.day3_shipei.MainActivity"   xmlns:android="https://schemas.android.com/apk/res/android"   xmlns:app="https://schemas.android.com/apk/res-auto"   xmlns:tools="https://schemas.android.com/tools"><textview   android:background="#666" android:gravity="center"   android:layout_height="@dimen/tv_size"   android:layout_width="match_parent" android:text="竖屏视频播放区"   android:textsize="30dp"> <linearlayout   android:background="#999" android:layout_height="50dp"   android:layout_width="match_parent">  <textview   android:gravity="center" android:layout_height="match_parent"   android:layout_weight="1" android:layout_width="0dp"   android:text="简介">   <textview   android:gravity="center"   android:layout_height="match_parent"   android:layout_weight="1" android:layout_width="0dp"   android:text="评论"> </textview></textview></linearlayout>   </textview></linearlayout>
    layout-land文件夹下:
<!--?xml version="1.0"   encoding="utf-8"?--><linearlayout   android:layout_height="match_parent"   android:layout_width="match_parent"   android:orientation="vertical" tools:context="com.example.a22120.day3_shipei.MainActivity"   xmlns:android="https://schemas.android.com/apk/res/android"   xmlns:app="https://schemas.android.com/apk/res-auto"   xmlns:tools="https://schemas.android.com/tools"> <textview   android:gravity="center"   android:layout_height="match_parent"   android:layout_width="match_parent" android:text="横屏时视频播放区"   android:textsize="30dp">  </textview></linearlayout>
当你切换横屏状态时    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注移动开发之Android频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程