侧滑动画.png先看效果 》 》 》
再看代码 》 》 》
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, homeDrawerLayout, homeToolbar, R.string.Open, R.string.Foo) {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
//获取mDrawerLayout中的第一个子布局,也就是布局中的RelativeLayout
//获取抽屉的view
View mContent = homeDrawerLayout.getChildAt(0);
float scale = 1 - slideOffset;
float endScale = 0.8f + scale * 0.2f;
float startScale = 1 - 0.3f * scale;
//设置左边菜单滑动后的占据屏幕大小
drawerView.setScaleX(startScale);
drawerView.setScaleY(startScale);
//设置菜单透明度
drawerView.setAlpha(0.6f + 0.4f * (1 - scale));
//设置内容界面水平和垂直方向偏转量
//在滑动时内容界面的宽度为 屏幕宽度减去菜单界面所占宽度
mContent.setTranslationX(drawerView.getMeasuredWidth() * (1 - scale));
//设置内容界面操作无效(比如有button就会点击无效)
mContent.invalidate();
//设置右边菜单滑动后的占据屏幕大小
mContent.setScaleX(endScale);
mContent.setScaleY(endScale);
}
};
toggle.syncState();
homeDrawerLayout.addDrawerListener(toggle);
遇见就是缘分,朋友点个赞在再走吧!!!
网友评论