Отключите ImageView, если он не помещается на экране - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть ImageView с динамическим src, и я хочу его отобразить, только если есть достаточно места, чтобы показать все это без масштабирования.
Как мне справиться с этим?

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

вам нужно получить размер изображения и размер экрана, а затем проверить, является ли он больше, прежде чем отображать

Если вы хотите, чтобы размеры дисплея в пикселях можно использовать

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

Еслиу вас нет доступа к деятельности, для которой нужно вызвать getWindowManager.Вы можете использовать:

Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();

Для описанного вами варианта использования, однако поле / отступ в макете кажется более подходящим.

, затем выполните

if (ImageView.getDrawable().getIntrinsicHeight() > height || ImageView.getDrawable().getIntrinsicWidth() >width){
//dont display image
}

скопированы и скомпилированы из двух постов Получить размеры экрана в пикселях и Попытка получить размер отображения изображения в ImageView

0 голосов
/ 30 ноября 2011
imageView.setScaleType(ScaleType.FIT_XY);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...