Intereting Posts
Как разобрать поток ввода JSON Как получить изображение профиля Facebook в Android Android custom url схема ..? Акустическое эхо-аннулирование с помощью Adobe Air на мобильных устройствах RxJava Multithreading с Realm – доступ к Realm из неправильной нити Сохранение на SD-карту в виде текстового файла Как заставить SearchView потерять фокус и свернуть при нажатии в другом месте Тайм-аут запуска истек, отказавшись от блокировки слежения! Тайм-аут активности для HistoryRecord. О чем это беспокоиться? Обнаружение реального объекта с использованием камеры. Возможности поиска реальных объектов с помощью камеры «Вы не можете установить это приложение, потому что другой пользователь уже установил несовместимую версию на этом устройстве» Темы в Android? Как объединить строку в одной ячейке в макете таблицы в android, динамически? OnClickListener на LinearLayout «В этой операции должно быть указано как минимум одно поле идентификатора (installationId, deviceToken)« parse Может ли Selenium тестировать мобильные webapps?

Можно ли повернуть выталкиваемый в описании xml?

Я создаю приложение с ресурсами, которые можно использовать повторно (потому что кнопки всегда одни и те же, но зеркально или повернуты). Я хочу использовать один и тот же ресурс, поэтому мне не нужно добавлять еще 3 ресурса, которые точно так же, как оригинал, но повернуты. Но я также не хочу смешивать код с вещами, которые могут быть объявлены в XML или сделать преобразования с матрицей, которая будет стоить время обработки.

У меня есть кнопка состояния, объявленная в XML.

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/and_card_details_button_down_left_onclick" /> <!-- pressed --> <item android:drawable="@drawable/and_card_details_button_down_left" /> <!-- default --> </selector> 

И я хочу повторно использовать drawable, потому что это будет то же самое, но повернуто на 90º и 45º, и я назначаю кнопку в качестве переносимого.

 <Button android:id="@+id/Details_Buttons_Top_Left_Button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/details_menu_large_button" /> 

Я знаю, что могу повернуть его с помощью RotateDrawable или с помощью Matrix но, как я уже объяснил, мне не нравится этот подход.

Можно ли достичь этого непосредственно на XML или как вы думаете, что это лучший способ сделать это? Поместите все ресурсы, но поверните их, поверните их в коде?

— EDIT — Ответ @dmaxi отлично работает, вот как его сочетать с списком элементов 🙂

 <?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="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/and_card_details_button_up_onclick"/> </item> <item> <rotate android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/and_card_details_button_up_onclick"/> </item> </selector> 

Solutions Collecting From Web of "Можно ли повернуть выталкиваемый в описании xml?"

Я мог бы вращаться в XML:

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/mainmenu_background"> </rotate> 

fromDegrees значение имеет значение fromDegrees .

В основном это анимация вращения, определенная в XML. С помощью fromDegrees вы определяете начальное повернутое состояние. toDegrees – это конечное повернутое состояние вытягиваемого в анимационной последовательности, но может быть любым, если вы не хотите использовать анимацию.

Я не думаю, что он выделяет ресурсы для анимации, так как он не должен быть загружен как анимация. В качестве переносимого он отображается как исходное состояние и должен быть помещен в папку ресурса с возможностью drawable . Чтобы использовать его в качестве анимации, вы должны поместить его в папку ресурсов ресурса и можете запустить анимацию, как это (просто пример):

 Animation rotation = AnimationUtils.loadAnimation(this, R.anim.rotation); rotation.setRepeatCount(Animation.INFINITE); myView.startAnimation(rotation); 

Я мог бы вращать левую стрелку прямо в XML как:

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="180" android:toDegrees="0" android:drawable="@drawable/left"> </rotate> 

Прикрепленное изображение для справки.

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