0
我想在我的行動欄sherlock顯示一個刷新動畫。 動畫工作得很好(旋轉刷新圖標),並做它應該做的。唯一的問題是按鈕的文本/標籤消失,儘管有足夠的空間可用。只要動畫停止,它就會返回。android動作欄sherlock。標籤/文字圖標消失,同時動畫
這裏是我的代碼片段:
動畫/ rotate.xml
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="360"
android:toDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1500"
android:interpolator="@android:anim/linear_interpolator" />
菜單項XML
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_refresh"
android:icon="@drawable/ic_action_refresh"
android:orderInCategory="0"
android:showAsAction="withText|ifRoom"
android:title="@string/menu_refresh"/>
</menu>
佈局/ refresh_action.xml
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_refresh"
android:showAsAction="withText|ifRoom"
android:title="@string/menu_refresh"
style="@style/Widget.Sherlock.ActionButton" />
和Java代碼在我的碎片ment
private Animation rotation;
private static ImageView syncView;
private static MenuItem syncItem;
private void refreshAnimation() {
/* Attach a rotating ImageView to the refresh item as an ActionView */
LayoutInflater lI = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
refreshView = (ImageView) lI.inflate(R.layout
.refresh_rotate_action, null);
rotation = AnimationUtils.loadAnimation(getActivity(),
R.anim.refresh_rotate);
rotation.setAnimationListener(rotateListener);
refreshView.startAnimation(rotation);
refreshItem.setActionView(syncView);
}
我希望這裏有人有這個問題的解決方案,因爲它讓我瘋狂。
這是解決這個問題的方法之一,但它並不真正在尋找什麼。我真的想要這個旋轉刷新圖標,因爲風格。只有困擾我的事情是消失的標籤:( – Takeya