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); 
} 

我希望這裏有人有這個問題的解決方案,因爲它讓我瘋狂。

回答

0

在操作欄中內置了一個旋轉加載視圖。它看起來很不錯。看到以下內容:

getSherlockActivity().setSupportProgressBarIndeterminateVisibility(true); 
+0

這是解決這個問題的方法之一,但它並不真正在尋找什麼。我真的想要這個旋轉刷新圖標,因爲風格。只有困擾我的事情是消失的標籤:( – Takeya