1.屏幕适配之DisplayMetrics类
1>主要代码:(工具类ViewTool)
// 解决activity屏幕适配问题-更改inflateLayout方法中后两个参数:float width,float height
setContentView(ViewTool.inflateLayoutPixels(MainActivity.this,
R.layout.activity_main, 1280, 1000));
// 解决fragment屏幕适配问题-更改inflateFragmentPixels方法中后两个参数:float width,float height
//View rootView = ViewTool.inflateFragmentPixels(getActivity(),R.layout.fragment_creditagreement,container,1280, 800);
2>ViewTool核心代码:
public static View inflateLayoutPixels(Context context, int layoutId,
float width, float height) {
View views = LayoutInflater.from(context).inflate(layoutId,null);
if (views == null) {
return null;
}
if (heightPixels <= 0) {
DisplayMetrics dm = context.getResources().getDisplayMetrics();
heightPixels = dm.heightPixels;
widthPixels = dm.widthPixels;
}
initPixels(views, width, height);
return views;
}
public static View inflateFragmentPixels(Context context, int layoutId,ViewGroup container,
float width, float height) {
View views = LayoutInflater.from(context).inflate(layoutId,container,false);
if (views == null) {
return null;
}
if (heightPixels <= 0) {
DisplayMetrics dm = context.getResources().getDisplayMetrics();
heightPixels = dm.heightPixels;
widthPixels = dm.widthPixels;
}
initPixels(views, width, height);
return views;
}
3>完整源码: 点击打开链接