1.如何使用尺寸单位适配
- 在res下新建valus-960x540、values->1184x720文件夹,分别创建名为dimens.xml的文件。
- 为每个dimens.xml创建一个标签,name为app_width,值分别为100dp和800dp。
- 在activity_main.xml中创建一个Button,设置其宽度时,使用android:layout_width=”@dimen/app_width”.
- 分别在正常分辨率、960*540分辨率、1184*720分辨率下运行,观察Button的宽带变化。 分别在里面创建一个标签,name为app_width,值为100dp和800dp
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="app_width">500dp</dimen>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="app_width">300dp</dimen>
</resources>
第3步注意的是宽度时@dimen/app_width
这里我通过两个模拟器 分辨率分别是2016x1080和1920x1080
效果图对比
明显上一个按钮更长
2.什么是图片适配
- drawable-hapi:运行在密度为hdpi的设备时,加载此文件夹。
- drawable-hapi:运行在密度为ldpi的设备时,加载此文件夹
- drawable-hapi:运行在密度为mdpi的设备时,加载此文件夹。
- drawable-hapi:运行在密度为xdpi的设备时,加载此文件夹。
-
drawable-hapi:运行在密度为xxdpi的设备时,加载此文件夹。
-
这里我就用fruit 代替所有图片 把图片分别放在hdpi、ldpi、mdpi中,
而实际 我用两个模拟器是
他们运行后的结果 不同 效果为:
3.什么是文字适配?
当手机语言为英文时,APP内的字符串显示英文
当手机语言为中文时,APP内的字符显示中文
第一步 ,在res里 创建一个 values-en 包;
第二步,在res里本身的String.xml 复制到创建的包内
第三步,修改里面的内容
在activity_main.xml里
代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.xdw.myapplication.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/app_title"
android:textSize="45dp"
android:gravity="center"
/>
</android.support.constraint.ConstraintLayout>
效果如图:为系统为中文时:
系统为英文时:
4.什么是布局适配?
- 在res下新增layout-land和layout-port文件夹,分别创建名为activity_main.xml的布局文件
- 为每个activity_main.xml编写不同内容,能够区分即可。
- 在Activity中setContentView(R.layout.activity_main.xml)。
- 在竖屏时,观察加载了哪个布局。
- 在横屏是,观察加载了哪个布局。 下面是运行后的横竖屏效果: