如果我想用Java以编程方式设置ImageView的宽度/高度,请执行以下操作:
image_view.getLayoutParams().width = 200;
那些“200”的单位是多少?是px / dp吗?
它在每台设备上看起来都“一样”吗? (这意味着:它在平板电脑上是非常大的,在智能手机上是非常小的吗?)
答案 0 :(得分:3)
以像素为单位。但要与设备无关,我们需要在dp中设置值。
因此,在您的代码中,您可以编写一个swicth case并根据您可以从设备metrices获得的屏幕分辨率,可以像这样设置值:
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
if(metrics.density == 1)
//
else if(metrics.density == 2)
//
else if(metrics.density == 1.5)
//
您还可以使用公式将px值更改为dp:
px = dp *(dpi / 160)
答案 1 :(得分:2)
http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html
相当确定它是像素。
高度,MATCH_PARENT,WRAP_CONTENT或固定大小(以像素为单位)