Android开发之DrawerLayout的仿QQ侧滑
如果想实现上述效果,需要内容部分跟着侧滑栏的滑动而滑动,而默认效果是侧滑栏遮住内容部分了,所以我们要想法拿到内容部分的View,然后再获取到侧滑的偏移量,然后根据重新计算的偏移量来动态平移内容部分的View,OK来代码实现一下:`drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
//滑动过程中不断回调 slideOffset:0~1
View content = drawerLayout.getChildAt(0);
View menu = drawerView;
float scale = 1 - slideOffset;//1~0
content.setTranslationX(menu.getMeasuredWidth() * (1 - scale));//0~width
}
@Override
public void onDrawerOpened(View drawerView) {
}
@Override
public void onDrawerClosed(View drawerView) {
}
@Override
public void onDrawerStateChanged(int newState) {
}
});`