实现步骤
非常简单。加入资源文件,layout.xml引用即可,包括尺寸适配,字体适配
demo资源链接:Android屏幕适配资源_Android如何获取屏幕自适应大小-Android代码类资源-CSDN下载
==================================================================================================================================================================================
module连接:android开发尺寸适配-Android文档类资源-CSDN下载
工具类
/\*\*
\* @ClassName DensityUtil
\* @Description 用于手机适配的一些类
\* @author XiongChuanLiang<br/>(xcl\_168@aliyun.com)
\*/
public class DensityUtil {
//private static final String TAG = "DensityUtil";
private DensityUtil() {}
public static float getDensity(Context context) {
return context.getResources().getDisplayMetrics().density;
}
/\*\*
\* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
\*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue \* scale + 0.5f);
}
/\*\*
\* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
\*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
/\*
\* 屏幕宽度
\*/
public static int getScreenWidth(Context context){
return context.getResources().getDisplayMetrics().widthPixels;
}
/\*\*
\* 屏幕高度
\*/
public static int getScreenHeight(Context context){
return context.getResources().getDisplayMetrics().heightPixels;
}
/\*
\* 获取控件宽
\*/
public static int getWidth(View view)
{
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
view.measure(w, h);
return (view.getMeasuredWidth());
}
/\*
\* 获取控件高
\*/
public static int getHeight(View view)
{
int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
view.measure(w, h);
return (view.getMeasuredHeight());
}
}