android 9-патч графика не масштабируется в режиме просмотра изображений
У меня есть
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/ImageView01"
android:src="@drawable/phone80"></ImageView>
<ImageView android:id="@+id/ImageView02"
android:layout_height="wrap_content" android:src="@drawable/underline"
android:layout_width="fill_parent" android:layout_gravity="fill_vertical|fill_horizontal"></ImageView>
</LinearLayout>
Первое изображение-это изображение фиксированного размера, которое вообще не должно масштабироваться. Изображение справа от него должно масштабироваться горизонтально до максимального пространства. Источник указывает на действительный .9.PNG-файл. К сожалению, он всегда появляется только в своем первоначальном размере. Какое свойство я должен установить? Является ли ImageView правильным объектом вообще?
Спасибо,
A.
4 ответов:
Вместо этого используйте
android:background. И если это просто подчеркивание, вы можете использоватьView, а неImageView. Что касается заполнения остальной части экрана, вы можете использовать вместо этогоTableLayout.Кроме того, убедитесь, что ваш 9-патч правильный. Стороны 1px должны быть черными. #000
Просто добавьте
android:scaleType="fitXY"к вашемуImageView. Например, для моего образа.9.png:<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/myimage" android:scaleType="fitXY" />
Также убедитесь, что масштабные линии по бокам не тянутся до самых углов изображения. Я знал, что на самом деле не имеет смысла, чтобы там были черные пиксели, но я полагал, что Android проигнорирует их, но на самом деле это мешает масштабированию работать. Он также дает вам " Ошибка: 9-патч изображения xxx. 9.сообщение png malformed " в окне вывода, но вы, возможно, не заметили этого. Как только я убрал пиксели в углах, он начал работать на меня.
Попробуйте использовать setImageResource (9patchResourceID) вместо setImageBitmap или setImageBackground, и это сработает:)
Comments