2014-10-06 6 views
0

Я хочу установить высоту изображения в программном виде в gridview. Я использовал ниже code-Как установить высоту изображенияView programatically?

imageview.getLayoutParams().height = height; 

Это работает отлично в андроиде версии 4.3 и выше, но не работает в андроиде версии 4.2 и ниже. Я не могу найти проблему. Любая помощь пожалуйста.

ImageView в xml-

<ImageView 
android:id="@+id/item_image" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:scaleType="centerCrop" 
android:background="@drawable/top_radius" /> 
+0

Возможный дубликат [Установить ширину и высоту изображения ImageView на виджет] (http://stackoverflow.com/questions/15171654/set-imageview-width-and-height-programmatically-on-a-widget) – Confuse

+0

@ Neutrino, что решение не работает в 4.2 или ниже, почему я задаю этот вопрос. –

ответ

2
LayoutParams LP = imageview.getLayoutParams(); 
LP.height = height; 
imageview.setLayoutParams(LP) 
+0

Это также не работает в версии для Android версии 4.2 или ниже –

+0

Да, это должно быть! Когда вы это устанавливаете? Попробуйте вызвать invalidate() или requestLayout() в представлении изображения после установки новой высоты. – Carnal

+0

не работает, я попробовал –

1

Это простой способ установить размеры ImageView

ImageView iv = (ImageView) findViewById(R.id.imageview); 
int width = 60; 
int height = 60; 
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); 
iv.setLayoutParams(parms); 
+0

не работает в версии 4.2 или ниже –

+0

@JagveerSinghRajput Хммм. Я посмотрю еще немного ..... –

+0

@JagveerSinghRajput Я не могу найти причину, по которой это не работает ниже android 4.2 –

0

Оберните ImageView в LinearLayout и установить высоту этого LinearLayout, как вы делаю.

+0

я пробовал, не работал –