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

我想在android中实际设置ImageView中的高度和宽度。

我怎样才能做到这一点?

用dp设置宽度和高度:

 imageview.getLayoutParams().height = (int) getResources().getDimension(R.dimen.imageview_height); imageview.getLayoutParams().width = (int) getResources().getDimension(R.dimen.imageview_width); 

在dimens.xml中提供键的值:

 50dp 50dp 

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

 final float scale = getResources().getDisplayMetrics().density; int dpWidthInPx = (int) (200 * scale); int dpHeightInPx = (int) (150 * scale); 

然后设置图像视图大小:

 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(dpWidthInPx, dpHeightInPx); imageView.setLayoutParams(layoutParams); 

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

 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); 

在您的dimens.xml中

 80dp 80dp 
  1. 首先选择理想的倾角并将其分配给var。

int dipAmount = 350;

  1. 然后读取ImageView的高度。

float scale = imageview.Resource.DisplayMetrics.Density;

  1. 从px转换为dip。

int converter =(int) (350 * scale + 0.5f);

  1. 将高度设置为imageview。

imageView.LayoutParameters.Height=converter;

这可能对你有所帮助……

 ImageView im = (ImageView)findViewById(R.id.image1); LayoutParams params = im.getLayoutParams(); params.height = 100; params.width = 100; 
  final float scale = getContext().getResources().getDisplayMetrics().density; int height_ = (int) (250 * scale + 0.5f); int width_ = (int) (250 * scale + 0.5f); 

250是dp

 ViewGroup.LayoutParams params = ImageView.getLayoutParams(); params.height = height_; params.width = width_; ImageView.setLayoutParams(params); 

尝试这个:

 image_view.getLayoutParams().height = 20; image_view.getLayoutParams().width= 20; 

如果可以接受,请给我你的反馈。 这对我有用。