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.

491   4  

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

    Ничего не найдено.