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" ?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With