Можно ли повернуть выталкиваемый в описании 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> 

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

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