如何在android中设置imageview的高度和宽度dp?
我想为android中的如何在android中设置imageview的高度和宽度dp?,android,imageview,Android,Imageview,我想为android中的ImageView实用地设置dp中的高度和宽度 我如何才能做到这一点?试试这个: image_view.getLayoutParams().height = 20; image_view.getLayoutParams().width= 20; 如果可以接受,请给我你的反馈。这是我的工作。使用dp设置宽度和高度: imageview.getLayoutParams().height = (int) getResources().getDimension(R.dimen.
ImageView
实用地设置dp中的高度和宽度
我如何才能做到这一点?试试这个:
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>
50dp
50dp
这可能会帮助您
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>
80dp
80dp
首先,选择一个理想的倾角并将其分配给var
int DIPANTUM=350
然后读取图像视图的高度
float scale=imageview.Resource.DisplayMetrics.Density代码>
从px转换为dip
int转换器=(int)(350*刻度+0.5f)代码>
将高度设置为imageview
imageView.LayoutParameters.Height=转换器代码>
250是dp
ViewGroup.LayoutParams params = ImageView.getLayoutParams();
params.height = height_;
params.width = width_;
ImageView.setLayoutParams(params);
,这是你接受的答案!谢谢Andros,但是我在尝试实现时遇到了不兼容的类型错误。如何解决它或者我在这里遗漏了什么..回答得很好dude.DisplayMetrics metrics=getWindowManager().getDefaultDisplay().getMetrics(metrics);浮点逻辑密度=metrics.density;int px=(int)(dp*逻辑密度+0.5);这可能有助于你将像素转换为dpLalith。0.5是所有设备的共同因素还是会有所不同。请选择正确答案,如果它满足你的问题,为什么说“更简单”?我看不出这里面有任何整洁或简单。。。
ViewGroup.LayoutParams params = ImageView.getLayoutParams();
params.height = height_;
params.width = width_;
ImageView.setLayoutParams(params);