Я створюю додаток із ресурсами, які можна використовувати повторно (адже кнопки завжди однакові, але дзеркальні чи повернені). Я хочу використовувати один і той же ресурс, тому мені не потрібно додавати ще 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>
і я хочу повторно використовувати рисунок, тому що він буде таким же, але повернутий на 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>