Intereting Posts
Поворот растрового изображения с использованием JNI & NDK Проблемы с Android. Преобразование ViewGroup с детьми в растровое изображение Как использовать функцию HTML New Line в текстовом виде Android? Ошибка MediaRecorder при запуске Как я могу позволить моему CountDownTimer сбрасываться после завершения обратного отсчета? Java – Игровые сервисы Google Play Как установить дату и время на Android-устройстве Просмотр центра (CheckBox), который использует layout_weight в столбце TableRow Фильтрация SPINNER для данных XML, которые были получены Freehand Image Crop рисовать внутри растровой области Максимальная собственная память, которую можно назначить для приложения для Android Лучший способ быстро запустить тесты JUnit в Android-проекте в Android Studio Изменение цвета фона кнопки SearchView и запроса Как вызвать json webservice через андроид Android Studio – Горячая клавиша для перехода к объявлению xml – это переход к файлу R

Android – флип-изображение в xml

Я хочу перевернуть изображение для фона кнопки в xml. Я видел пример, как это сделать, но это было программно: http://xjaphx.wordpress.com/2011/06/26/image-processing-image-flipping-mirroring . Во всяком случае, у меня есть xml-файл (button_left_state.xml), как показано ниже:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <rotate android:fromDegrees="180.0" android:toDegrees="180.0" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/buttonrightpressed" /> </item> <item> <rotate android:fromDegrees="180.0" android:toDegrees="0.0" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/buttonright"/> </item> </selector> 

Но этот код просто поворачивает изображение на 180 градусов. Можно ли перевернуть изображение в xml?

Solutions Collecting From Web of "Android – флип-изображение в xml"

Используйте атрибуты scale в ImageView

 android:scaleX="-1" //To flip horizontally or android:scaleY="-1" //To flip vertically 

Вот очень короткое и понятное решение.

Добавьте это к imageView:

  android:rotationX="180" 

Это будет переворачивать изображениеView горизонтально (влево <-> вправо).

Для вертикали, поставьте это:

 android:rotationY="180" 

Пример:

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="original image:"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/test"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="flip horizontally :"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:rotationY="180" android:src="@drawable/test"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="flip vertically:"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:rotationX="180" android:src="@drawable/test"/> </LinearLayout> 

И результат (изображение, взятое из библиотеки JNI, которую я сделал , которая может сделать это через JNI):

Введите описание изображения здесь

Я разрешаю свою проблему, используя layer-list :

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item > <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <gradient android:startColor="#9f9" android:centerColor="#000" android:endColor="#0f0" android:angle="-90" /> <stroke android:width="1.0px" android:color="#444" /> <corners android:bottomRightRadius="7dip" android:bottomLeftRadius="0.1dp" android:topLeftRadius="0.1dp" android:topRightRadius="7dip"/> </shape> </item> <item> <rotate android:fromDegrees="180.0" android:toDegrees="180.0" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/arrow_right" /> </item>