Tôi đã tìm kiếm khắp nơi để tìm ra giải pháp thích hợp cho vấn đề của mình và dường như tôi vẫn chưa thể tìm ra giải pháp nào. Tôi có một ActionBar (ActionBarSherlock) với một menu được thổi phồng từ tệp XML và menu đó chứa một mục và một mục được hiển thị dưới dạng ActionItem.
thực đơn:
<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>
Hoạt động:
[...]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.mymenu, menu);
return true;
}
[...]
ActionItem được hiển thị với một biểu tượng và không có văn bản, tuy nhiên khi người dùng nhấp vào ActionItem, tôi muốn biểu tượng bắt đầu hoạt ảnh, cụ thể hơn là xoay tại chỗ. Biểu tượng được đề cập là biểu tượng làm mới.
Tôi nhận thấy rằng ActionBar có hỗ trợ sử dụng các chế độ xem tùy chỉnh ( Thêm một Chế độ xem Hành động ) tuy nhiên, chế độ xem tùy chỉnh này được mở rộng để bao phủ toàn bộ khu vực của ActionBar và thực sự chặn mọi thứ ngoại trừ biểu tượng ứng dụng, trong trường hợp của tôi không phải là thứ tôi đang tìm kiếm .
Vì vậy, nỗ lực tiếp theo của tôi là cố gắng sử dụng AnimationDrawable và xác định từng khung hình hoạt hình của tôi, đặt có thể vẽ làm biểu tượng cho mục menu, sau đó onOptionsItemSelected(MenuItem item)
lấy biểu tượng và bắt đầu tạo hoạt ảnh bằng cách sử dụng ((AnimationDrawable)item.getIcon()).start()
. Tuy nhiên, điều này đã không thành công. Có ai biết bất kỳ cách nào để thực hiện hiệu ứng này?