Android-макет ImageView макет в dip?
Я использую следующий код:
ImageView i = новый ImageView (mContext);
i.setImageResource (mImageIds [положение]);
i.setScaleType (ImageView.ScaleType.FIT_XY);
//pixels settings !!!
i.setLayoutParams (новая Gallery.LayoutParams(200, 100));
но, как вы можете видеть, это установка размеров макета в пикселях.
Кто-нибудь знает, как сделать то же самое, но в "погружении"?
3 ответа
Решение
См. http://developer.android.com/guide/practices/screens_support.html
О том, как конвертировать из точек на дюйм в пиксели.
Следующий вспомогательный метод принимает в качестве входных данных независимые пиксели (DIP) и возвращает фактические пиксели для текущего устройства.
private int getPixels(int dipValue) {
Resources r = getResources();
int px = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dipValue,
r.getDisplayMetrics());
return px;
}
Если вы сохраняете свое измерение как ресурс, вы можете использовать
getResources().getDimensionPixelSize(id);
Это также облегчит настройку макетов.