工作中有时间会遇到一些控件会在代码中动态的被写入:
此时,你想改变这个控件的宽高会很痛苦,直接赋值20,100的涉及到像素和dip的转换。
方法:
1:在Res 资源文件的values文件夹下的dimens xmL文件中设置一个基准;1dp
<dimen name="base_dip">1dp</dimen>
2.建立一个方法;
px转成dip
public int px2Dip(int px){
return getContext().getResources().getDimensionPixelSize(R.dimen.base_dip)*px;
}
3,在设置宽高的地方直接使用;
例如:
View vItem = v.findViewById(R.id.vItem);
vItem.getLayoutParams().height = px2Dip(500); 设置控件的高度为500dp