Как масштабировать ширину Android ImageView в соответствии с layout_alignTop и layout_alignBottom
Я хотел бы иметь простой вид игрока с изображением, именем и статусом. Изображение будет загружено через Google+.
У меня проблема в том, что с большими изображениями мой ImageView становится слишком широким и выталкивает мои тексты из поля зрения.
Вот пример, чтобы показать, как это выглядит: https://dl.dropboxusercontent.com/u/11037539/unwanted_padding.png
Планировка:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/playerPane"
android:background="@color/player2">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/playerName"
android:layout_alignBottom="@+id/playerStatus"
android:id="@+id/playerImage"
android:src="@drawable/ic_contact_picture"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/playerImage"
android:id="@+id/playerName"
android:text="Player"
android:textColor="@android:color/black"
android:singleLine="true"
android:textStyle="bold"
android:paddingTop="@dimen/player_padding"
android:paddingBottom="@dimen/player_padding"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/playerName"
android:layout_alignLeft="@+id/playerName"
android:id="@+id/playerStatus"
android:text="status"
android:singleLine="true"
android:paddingBottom="@dimen/player_padding" />
</RelativeLayout>
Я перепробовал все ImageView.scaleTypes, но пока ничего не работает..
Большое спасибо за вашу помощь!
2 ответа
Вам просто нужно определить свою ширину. Это должно исправить это. Так что измени эту строку
что-то вроде:
<ImageView
android:layout_width="75dp" //OR WHATEVER LOOKS BEST
ScaleType действительно полезен только тогда, когда размер изображения меньше, чем изображение. Как упоминалось ранее, установите размер, а затем вы можете использовать scaleType, чтобы установить, как изображение должно масштабироваться в пределах теперь меньшей области.