我们如何在android中为imageview设置高度和宽度dp?

Kar*_*hik 29 android imageview

我想设置高度和宽度dpImageViewandroid系统中务实.

我怎样才能做到这一点?

And*_*ros 65

用dp设置宽度和高度:

imageview.getLayoutParams().height = (int) getResources().getDimension(R.dimen.imageview_height);
imageview.getLayoutParams().width = (int) getResources().getDimension(R.dimen.imageview_width);
Run Code Online (Sandbox Code Playgroud)

在dimens.xml中提供键的值:

<dimen name="imageview_width">50dp</dimen> 
<dimen name="imageview_height">50dp</dimen> 
Run Code Online (Sandbox Code Playgroud)


sha*_*ham 27

使用显示指标来获得销售因子,然后使用一些简单的数学 - 例如,如果我想要200x150dp:

final float scale = getResources().getDisplayMetrics().density;
int dpWidthInPx  = (int) (200 * scale);
int dpHeightInPx = (int) (150 * scale);
Run Code Online (Sandbox Code Playgroud)

然后设置图像视图大小:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(dpWidthInPx, dpHeightInPx);
imageView.setLayoutParams(layoutParams);
Run Code Online (Sandbox Code Playgroud)


vel*_*val 5

这可能更简单,应该做的伎俩:

ImageView im = (ImageView)findViewById(R.id.image1);
LayoutParams params = im.getLayoutParams();
params.height = getActivity().getResources().getDimensionPixelSize(R.dimen.item_height);
params.width = getActivity().getResources().getDimensionPixelSize(R.dimen.item_width);
Run Code Online (Sandbox Code Playgroud)

在您的dimens.xml中

<dimen name="item_height">80dp</dimen> 
<dimen name="item_width">80dp</dimen> 
Run Code Online (Sandbox Code Playgroud)


Sat*_*jee -2

尝试这个:

image_view.getLayoutParams().height = 20;
image_view.getLayoutParams().width= 20;
Run Code Online (Sandbox Code Playgroud)

如果可以接受,请给我您的反馈。这对我来说是工作。