一:什么是屏幕适配
使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果
相关概念
1:屏幕尺寸:手机对角线的物理尺寸。
单位:英寸(inch),1英寸=2.54cm。
2:屏幕分辨率:手机在横向、纵向上的像素点数总和。
单位:px(pixel),1px=1像素点。
Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920。
3:屏幕像素密度:每英寸的像素点数。
单位:dpi(dots per ich)
使得某一元素在不同尺寸,不同分辨率的手机上具备相同显示效果
于是,我们便需要对Android屏幕进行适配。
二:尺寸适配怎么做
使用尺寸限定符(layout-large)通过创建一个文件
<dimens name="app_width"/>300dp
在布局文件中:
android:layout_width="match_parent"
将“match_parent”换为“app_width”
其中app_width可以随意取名。
三:图片适配怎么做
解决方案:使用自动拉伸位图(nine-patch图片),后缀名是.9.png,它是一种被特殊处理过的PNG图片,设计时可以指定图片的拉伸区域和非拉伸区域;使用时,系统就会根据控件的大小自动地拉伸你想要拉伸的部分
android:background="@drawable/button"
四:什么是9png图片
在Android 的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,序号1和2标识了可以拉伸的区域,序号3和4标识了内容区域。当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:
五:文字适配怎么配
在res目录下放不同国家的value文件夹,在相应文件夹里的 strings.xml 文件放对应的语言即可。比如
六:横竖屏适配怎么做
先在Project中app-src-main-res下创建一个layout-land文件夹和fragment.xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#18e780"
android:orientation="vertical"
tools:context=".BlankFragment">
<ImageView
android:src="@mipmap/button_ts"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>