1.屏幕的适配
很少用:
--- 图片适配:根据不同的分辨率的手机设置几套不同分辨率的图片
---布局适配 :根据不同分辨率设计不同的布局文件 eg: layout-800x480 专门适配480*800的屏幕
常用 :
---尺寸适配:
dp和px的关系: dp = px/设备密度
float density = getResources().getDisplayMetrics().density;
System.out.println("设备密度:" + density);
320*240(0.75), 480*320(1),480*800(1.5),1280*720(2)
float density = getResources().getDisplayMetrics().density;
System.out.println("设备密度:" + density);
320*240(0.75), 480*320(1),480*800(1.5),1280*720(2)
①.在布局中进行尺寸适配: eg:values-1280x720 分辨率
-----在values下设置->dimens.xml 设置MatchParent 320dp
②.在代码中进行尺寸适配: 工具类
<span style="color:#330000;">public class DensityUtils {
/*
* dp转换成px...每个模拟器的密度不同,根据密度转换
*/
public static int dp2px(Context ctx,float dp){
float density = ctx.getResources().getDisplayMetrics().density;
int px = (int) (dp*density + 0.5f);//4.9+0.5 4.4+0.5 四舍五入
return px;
}
/*
* px转成dp
*/
public static float px2dp(Context ctx,float px){
float density = ctx.getResources().getDisplayMetrics().density;
float dp = px/density;
return dp;
}
}</span>
----权重适配:
android:weightSum="3"总权重和 (在父控件中)
android:weight = "1" 权重 (子控件)
----代码适配
eg:侧边栏在Activity中的位置设置
<span style="white-space: pre;"><span style="color:#008000;"> </span><span style="color:#330000;"> </span></span><span style="color:#330000;">int width = getWindow().getWindowManager().getDefaultDisplay().getWidth();
slidingMenu.setBehindOffset(width*2/3);// 设置contentFragment预留屏幕的宽度</span>