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?

Используйте атрибуты 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> 

Intereting Posts
Как сохранить анализируемый текстовый файл во внутреннем / внешнем хранилище в android В чем разница между Bundle и Intent? Google Cloud Function Node.js Firebase Url SOAP xml взамен – Android Android OrderedBroadcast не работает в выпуске сборки Создание как подписанных, так и неподписанных выпусков с Ant Как опубликовать источники Android .aar, чтобы заставить Android Studio автоматически их найти? Использование MediaPlayer для воспроизведения AMR-файла, созданного MediaRecorder, с ошибкой muri Android: пользовательский вид для пункта меню Настраивать эмуляцию / ориентацию устройства программно в контрольно-измерительном тесте Неподдерживаемая ошибка при нажатии на ссылку электронной почты Получение уведомлений Android GCM, когда приложение находится в состоянии остановки Как создать 2 строки кнопок в файле android layout.xml Звонок в Android Retrofit2 Условие обработки, когда код состояния 200, но структура json отличается от класса datamodel