Я пытаюсь сделать игру как «нажмите & убить», и я пытаюсь создать бар здоровья для персонажа, которого нужно убить. Я использую простой образ (красный прямоугольник), и я хотел бы уменьшить панель здоровья после одного нажатия. То, что я пробовал, работает, но проблема заключается не только в уменьшении, но и в высоте. Таким образом, результат действительно ужасен. Для начала, это мой XML (я только показать один для примера):Как изменить размер изображения не пропорционально?
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="33">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFF00"
android:id="@+id/hole4"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/healthBar4"
android:src="@drawable/health_bar"/>
</RelativeLayout>
Так вот ничего плохого (я думаю) я оставляю android:adjustViewBounds="true"
, потому что я думал, что проблема возникла здесь. Следующая моя активность:
final int healthBarHeightInitial = healthBar4.getLayoutParams().height;
final int healthBarWidthInitial = healthBar4.getLayoutParams().width;
healthBar4.requestLayout();
//ivHole4 is my ImageView I get the click to leave some life to the character
ivHole4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//If character die (works great).
if(choixAction.ChoixAction(CharaHole4,outil)){
Log.d("Perso","Character is die");
mAvancement +=1;
ivHole4.setImageResource(0);
CharaHole4 = null;
placeChara.setHole4(true);
healthBar4.setVisibility(View.GONE);
healthBar4.getLayoutParams().height = healthBarHeightInitial;
healthBar4.getLayoutParams().width = healthWidthInitial;
}
//if character don't die (here is the problem !)
else {
healthBar4.getLayoutParams().width = healthBar4.getWidth()/2; //This is works great
healthBar4.getLayoutParams().height = healthBarHeightInitial; //This is do nothing, the height is /2 too.
healthBar4.requestLayout();
}
}
});
Я надеюсь, что кто-то знает, как изменить размер изображения не пропорционально. Спасибо заранее.
Вы пытались добавить это в свой ImageView? : 'android: scaleType =" fitXY "' – Knossos
Это работает !! =) Спасибо, много! Опубликуйте новое сообщение, если хотите, я отвечу на ваш ответ. – LeNomade