我试图使用方法setLayoutParams来指定我的表格布局的图形参数,但我不确定方法setLayoutParams是否采用像素值或倾角值,特别是在java中存储的值似乎是像素值,例如,如果我声明这两个变量:
private int blockDimension = 50;
private int blockPadding = 2;
然后调用方法:
tableRow.setLayoutParams(new LayoutParams( (blockDimension + 2 * blockPadding) * numberOfColumnsInMineField,blockDimension + 2 * blockPadding) );
它们被视为像素还是一旦传递给方法就被转换?那么如果不是,我怎样才能在java中设置dip值?
解决方法:
它需要像素.要将dp转换为像素,您可以使用:
public int getPx(int dimensionDp) {
float density = getResources().getDisplayMetrics().density;
return (int) (dimensionDp * density + 0.5f);
}