जॉन ओ के उत्तर को स्पष्ट करने के लिए, कुंजी ताज़ा कार्रवाई पर एक क्रिया दृश्य सेट और सेट करना है। यह एक्शनबार शेरलॉक और देशी 4.x एक्शन बार दोनों में काम करता है। निम्नलिखित स्निपेट ताज़ा आइकन के शीर्ष पर प्रगति अनिश्चित दृश्य डाल देंगे, यह मानते हुए ताज़ा मेनू आइटम आईडी 'refresh_option' और प्रतिस्थापन लेआउट (जो एक ProgressBar है) है 'progress_wheel' लेआउट में है:
MenuItem item = abmenu.findItem(R.id.refresh_option);
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View abprogress = inflater.inflate(R.layout.progress_wheel, null);
item.setActionView(abprogress);
अनसेट प्रगति देखने के लिए, और ताज़ा आइकन दृश्यता वापस आ जाएगी:
item.setActionView(null);
GitHub पर a more detailed example देखें।
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
item.setActionView(new ProgressBar(this));
break;
}
return super.onOptionsItemSelected(item);
संबंधित: http://stackoverflow.com/questions/9731602/animated-icon-for-actionitem – rds