android Imageview layoutparams in dip?
-
01-10-2019 - |
문제
I'm using the following code :
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
//pixels settings !!!
i.setLayoutParams(new Gallery.LayoutParams(200, 100));
but as you can see, it is setting the layout dimensions in pixels.
Does anybody know how to do the same thing but in "dip" ?
해결책
See http://developer.android.com/guide/practices/screens_support.html#screen-independence
On how to convert from dpi to pixels.
다른 팁
The following helper method takes as input device independent pixels (DIP) and returns actual pixels for the current device.
private int getPixels(int dipValue) {
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dipValue,
r.getDisplayMetrics());
return px;
}
If you store your dimension as a resource, you can use
getResources().getDimensionPixelSize(id);
This will also make it easier to adjust your layouts.
제휴하지 않습니다 StackOverflow