ImageView getLayoutParams宽度单位

时间:2013-08-21 02:22:10

标签: java android width layoutparams

如果我想用Java以编程方式设置ImageView的宽度/高度,请执行以下操作:

image_view.getLayoutParams().width = 200;

那些“200”的单位是多少?是px / dp吗?
它在每台设备上看起来都“一样”吗? (这意味着:它在平板电脑上是非常大的,在智能手机上是非常小的吗?)

2 个答案:

答案 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或固定大小(以像素为单位)