Saya telah mencari di mana-mana untuk solusi yang tepat untuk masalah saya dan sepertinya saya belum dapat menemukannya. Saya memiliki ActionBar (ActionBarSherlock) dengan menu yang dinaikkan dari file XML dan menu itu berisi satu item dan satu item itu ditampilkan sebagai ActionItem.
Tidak bisa:
<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>
aktivitas:
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
[...]
ActionItem ditampilkan dengan ikon dan tidak ada teks, namun ketika pengguna mengklik ActionItem, saya ingin ikon mulai beranimasi, lebih khusus lagi, berputar di tempatnya. Ikon yang dimaksud adalah ikon segarkan.
Saya menyadari bahwa ActionBar memiliki dukungan untuk menggunakan tampilan kustom ( Menambahkan Tampilan Tindakan ) namun tampilan kustom ini diperluas untuk mencakup seluruh area ActionBar dan sebenarnya memblokir semuanya kecuali ikon aplikasi, yang dalam kasus saya bukan yang saya cari. .
Jadi upaya saya selanjutnya adalah mencoba menggunakan AnimationDrawable dan menentukan animasi frame-by-frame saya, mengatur drawable sebagai ikon untuk item menu, dan kemudian onOptionsItemSelected(MenuItem item)
mendapatkan ikon dan mulai menganimasikan menggunakan ((AnimationDrawable)item.getIcon()).start()
. Namun ini tidak berhasil. Adakah yang tahu cara untuk mencapai efek ini?