Yeniden kullanılabilen kaynaklarla bir uygulama oluşturuyorum (çünkü düğmeler her zaman aynıdır, ancak yansıtılmış veya döndürülmüş). Aynı kaynağı kullanmak istiyorum, bu nedenle tam olarak orijinaline benzeyen ancak döndürülmüş 3 kaynak daha eklemem gerekmiyor. Ancak, kodu XML'de bildirilebilecek şeylerle karıştırmak veya işlem süresine mal olacak bir matrisle dönüşümler yapmak istemiyorum.
XML'de beyan edilmiş iki durumlu bir düğme var.
<?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>
ve ben çekilebilir olanı yeniden kullanmak istiyorum çünkü aynı olacak ama 90º ve 45º döndürülecek ve butona çekilebilir olarak atıyorum.
<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" />
Bunu a RotateDrawable
veya a ile döndürebileceğimi biliyorum Matrix
ama daha önce açıkladığım gibi bu yaklaşımı sevmiyorum.
Bunu doğrudan XML üzerinden başarmak mümkün mü veya sizce bunu yapmanın en iyi yolu nedir? Tüm kaynakları koyun ama döndürün, kodda döndürmek mi?
--- DÜZENLE --- @ dmaxi'nin cevabı harika çalışıyor, bu onu bir öğe listesiyle nasıl birleştireceğiniz :)
<?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>