2016-02-03 3 views
0

Я пробовал IMAGEVIEW.getLayoutParams().height = 200. Но это не меняется правильно. Есть ли другой способ, пожалуйста, дайте предложение.Как изменить высоту image_view во время выполнения

+0

getLayoutParams() not setLayoutParams() – Madhur

+0

Вы можете использовать логику DisplayMetrics. Зачем использовать значение «жестко закодированное»? –

+0

Проверьте http://stackoverflow.com/questions/3144940/set-imageview-width-and-height-programmatically –

ответ

2

использование этого

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(200, 200); 
    yourImageView.setLayoutParams(layoutParams); 
0

Если ImageView уже показывает изображение,

Вызова:

image_view.requestLayout(); 
1
_image_view.getLayoutParams().height = 30; 

Надеется, что это помогает.

Очень важно.

Если вы настраиваете высоту после того, как макет уже 'выкладывается', убедитесь, что вы также называем это:

_image_view.requestLayout() 
+0

Я пробовал это. Но это не работает. Спасибо за ваш ответ. –

+0

Позвольте мне еще раз проверить –

+0

Дорогой, его хорошо работает в моем случае. ImageView im = (ImageView) findViewById (R.id.imageView); im.getLayoutParams(). Height = 130; –

0

At First Check Set ImageView width and height programmatically

Вы можете попробуйте с DisplayMetrics Логика. Она более совершенна.

Структура, описывающая общую информацию о дисплее, такую ​​как его размер, плотность и масштабирование шрифта.

DisplayMetrics metrics = getResources().getDisplayMetrics(); 

    int DeviceTotalWidth = metrics.widthPixels; 
    int DeviceTotalHeight = metrics.heightPixels; 

    image_view.getLayoutParams().height= (int) (DeviceTotalHeight*5.25/100); // You can change from here 

Другой способ

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(200, 200); 
    IMAGEVIEW.setLayoutParams(layoutParams); 
1
ImageView mImageView = (ImageView)findViewById(R.id.image_view); 
      LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100); // Paramters are (width, height) in pixels 
      mImageView.setLayoutParams(layoutParams); 

Если вы хотите совместимость несколько разрешение,

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams((int)(getResources().getDimension(R.dimen.image_with)), 
       (int) getResources().getDimension(R.dimen.image_height)); 

dimens.xml под ресурсом

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <dimen name="image_with">100dp</dimen> 
    <dimen name="image_height">100dp</dimen> 
</resources> 
+0

Я попробую это .. –

Смежные вопросы