您好我正在实施位于操作栏上的刷新图标的旋转动画。当我在较新的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;
}
答案 0 :(得分:2)
我不确定你的问题是什么,但似乎你使用的是8级无法使用的API。
改变这个:
item.setActionView(getAnimation());
对此:
MenuItemCompat.setActionView(item,getAnimation());