我正在基于指定数量的行和列在代码中动态生成EditText视图的网格.我希望每个EditText视图具有相同的宽度(例如,100dp).
虽然我可以使用setWidth或通过创建LayoutParam对象来设置视图的大小,但我似乎只能指定像素值.我想要使用DP(密度无关)单元,类似于我使用XML布局所做的.
如何在代码中完成?
Spi*_*ams 11
我在Utils类中有一个方法来执行此转换:
public static int dip(Context context, int pixels) {
   float scale = context.getResources().getDisplayMetrics().density;
   return (int) (pixels * scale + 0.5f);
}
float value = 12;
int unit = TypedValue.COMPLEX_UNIT_DIP;
DisplayMetrics metrics = getResources().getDisplayMetrics();
float dipPixel = TypedValue.applyDimension(unit, value, metrics);
| 归档时间: | 
 | 
| 查看次数: | 3547 次 | 
| 最近记录: |