Sorunuma uygun bir çözüm bulmak için her yerde aradım ve henüz bir çözüm bulamıyorum. XML dosyasından şişirilmiş bir menüye sahip bir ActionBar'ım (ActionBarSherlock) var ve bu menü bir öğe içeriyor ve bu öğe bir ActionItem olarak gösteriliyor.
Menü:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="ifRoom"
android:title="Refresh"/>
</menu>
aktivite:
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
[...]
ActionItem bir simgeyle ve metin olmadan görüntüleniyor, ancak bir kullanıcı ActionItem'i tıkladığında, simgenin animasyona başlamasını, daha spesifik olarak yerinde dönmesini istiyorum. Söz konusu simge, bir yenileme simgesidir.
ActionBar'ın özel görünümleri ( Eylem Görünümü Ekleme) kullanma desteğine sahip olduğunu fark ettim, ancak bu özel görünüm, ActionBar'ın tüm alanını kapsayacak şekilde genişletildi ve aslında uygulama simgesi dışındaki her şeyi engelliyor, bu benim durumumda aradığım şey değildi .
Bu yüzden bir sonraki girişimim AnimationDrawable'ı kullanmaya ve animasyonumu kare kare tanımlamaya, çizilebilir olanı menü öğesi için simge olarak ayarlamaya ve ardından onOptionsItemSelected(MenuItem item)
simgeyi alıp animasyon kullanmaya başlamaya çalışmaktı ((AnimationDrawable)item.getIcon()).start()
. Ancak bu başarısız oldu. Bu etkiyi gerçekleştirmenin herhangi bir yolunu bilen var mı?