这就是我试图在抽屉幻灯片上旋转ImageView(菜单按钮)的方法。我正在使用自定义ImageView设置一个角度来从抽屉幻灯片旋转偏移并使视图无效。我的问题是它是否是一个更好的解决方案?如果没有,请为我的问题建议一些更好的替代解决方案。
MenuButton.java
public class MenuButton extends ImageView {
public int angle = 0;
public MenuButton(Context context) {
super(context);
}
public MenuButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(angle, getWidth() / 2, getHeight() / 2);
super.onDraw(canvas);
canvas.restore();
}
}
并在DrawerListener
实现中将ImageButton对象的角度设置为
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
float angle = slideOffset * 360;
menuButton.angle = (int) angle;
menuButton.invalidate();
}
@Override
public void onDrawerOpened(View drawerView) {
}
@Override
public void onDrawerClosed(View drawerView) {
}
@Override
public void onDrawerStateChanged(int newState) {
}