【发布时间】:2014-01-23 18:54:12
【问题描述】:
我想在dp 中为ImageView 在android 中务实地设置高度和宽度。
我怎样才能做到这一点?
【问题讨论】:
我想在dp 中为ImageView 在android 中务实地设置高度和宽度。
我怎样才能做到这一点?
【问题讨论】:
试试这个:
image_view.getLayoutParams().height = 20;
image_view.getLayoutParams().width= 20;
如果可以接受,请给我您的反馈。这对我有用。
【讨论】:
用 dp 设置宽度和高度:
imageview.getLayoutParams().height = (int) getResources().getDimension(R.dimen.imageview_height);
imageview.getLayoutParams().width = (int) getResources().getDimension(R.dimen.imageview_width);
在您的 dimens.xml 中为键提供值:
<dimen name="imageview_width">50dp</dimen>
<dimen name="imageview_height">50dp</dimen>
【讨论】:
这可能对你有帮助……
ImageView im = (ImageView)findViewById(R.id.image1);
LayoutParams params = im.getLayoutParams();
params.height = 100;
params.width = 100;
【讨论】:
使用显示指标来获取销售因素,然后只是一些简单的数学运算 - 例如,如果我想要 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中
<dimen name="item_height">80dp</dimen>
<dimen name="item_width">80dp</dimen>
【讨论】:
int dipAmount=350;
float scale = imageview.Resource.DisplayMetrics.Density;
int converter =(int) (350 * scale + 0.5f);
imageView.LayoutParameters.Height=converter;
【讨论】:
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);
【讨论】: