嗨,我正在实现动作栏上刷新图标的旋转动画。当我在较新的api上运行我的应用程序时,一切正常。但是例如当我在api 8上运行时,setActionView出现问题。请帮忙。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_refresh:
item.setActionView(getAnimation());
getCurrency(code,null);
mViewpager.setVisibility(View.INVISIBLE);
Log.i("TAG", "refresh pressed =>");
return true;
}
// Handle your other action bar items...
return super.onOptionsItemSelected(item);
}
getAnimation方法
public View getAnimation(){
LayoutInflater inflater1 = (LayoutInflater) getActivity().getApplication()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ImageView iv = (ImageView) inflater1.inflate(R.layout.action_refresh,
null);
Animation rotation = AnimationUtils.loadAnimation(getActivity().getApplicationContext(),
R.anim.refresh_rotate);
rotation.setRepeatCount(Animation.INFINITE);
iv.startAnimation(rotation);
return iv;
}
最佳答案
我不太确定您的问题是什么,但似乎您正在使用的API在8级上不可用。
更改此:
item.setActionView(getAnimation());
对此:
MenuItemCompat.setActionView(item,getAnimation());