Android代码中使用getDimensionPixelSize方法调用dimens资源

在代码中如果需要设置UI控件的尺寸或字体大小,如果直接使用像素数字可能会有屏幕适配的问题,其实可以调用dimens中的资源定义,方法如下:
getResources().getDimensionPixelSize(int id)方法返回dimens资源定义的像素数。

例如长度:
params = new RelativeLayout.LayoutParams(220, 72);
可以在dimens中增加定义,然后修改成:
params = new RelativeLayout.LayoutParams(getResources().getDimensionPixelSize(R.dimen.layout_width), getResources().getDimensionPixelSize(R.dimen.layout_height));

例如字体大小:
menuItem.setTextSize(TypedValue.COMPLEX_UNIT_PX, 30);
可以在dimens中增加定义,然后修改成:
menuItem.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.text_size_30px));
 

你可能感兴趣的:(Android相关)