Я всюди шукав правильного вирішення своєї проблеми, і, здається, поки що не можу її знайти. У мене є ActionBar (ActionBarSherlock) з меню, яке надувається з файлу XML, і це меню містить один елемент, і цей елемент відображається як ActionItem.
меню:
<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>
діяльність:
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
[...]
ActionItem відображається з піктограмою і без тексту, однак, коли користувач натискає ActionItem, я хочу, щоб піктограма почала анімувати, точніше обертаючись на місці. Піктограма, про яку йде мова, є піктограмою оновлення.
Я усвідомлюю, що ActionBar має підтримку використання власних подань ( Додавання подання дій ), однак цей спеціальний вигляд розширений, щоб охопити всю область ActionBar і фактично блокує все, крім піктограми програми, що в моєму випадку не те, що я шукав .
Отже, моєю наступною спробою було спробувати використати AnimationDrawable та визначити мою анімацію кадр за кадром, встановити малюнок як піктограму для пункту меню, а потім onOptionsItemSelected(MenuItem item)
отримати файл і розпочати анімацію за допомогою ((AnimationDrawable)item.getIcon()).start()
. Однак це не вдалося. Хтось знає про будь-який спосіб досягнення цього ефекту?