push activity on the right when open drawer

后端 未结 8 2021
隐瞒了意图╮
隐瞒了意图╮ 2020-12-07 11:29

I have implemented drawerlayout which slides from the right but it does not shift the activity the right like facebook does (See below image). How do I push the current acti

8条回答
  •  爱一瞬间的悲伤
    2020-12-07 12:00

    Although there is no default way to slide the activity along with navigation drawer we can do it through code. As suggested in the above answer by mick88 following is the code snippet from my project.

    my profile.xml file

    
    
        
    
        
    
    
        
    
        
    
        
    
            
        
    
    

    now in Activity

    public class ProfileActivity extends ActionBarActivity {
        ....
        private DrawerLayout mDrawerLayout;
        private ActionBarDrawerToggle mDrawerToggle;
    
        RelativeLayout drawerView;
        RelativeLayout mainView;
        ....
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
    
            ............. //
            .............//
            drawerView = (RelativeLayout) findViewById(R.id.drawerView);
            mainView = (RelativeLayout) findViewById(R.id.mainView);
    
            mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.app_name, R.string.app_name) {
                public void onDrawerClosed(View view) {
                    supportInvalidateOptionsMenu();
                }
    
                public void onDrawerOpened(View drawerView) {
                    supportInvalidateOptionsMenu();
                }
    
                @Override
                public void onDrawerSlide(View drawerView, float slideOffset) {
                    super.onDrawerSlide(drawerView, slideOffset);
                    mainView.setTranslationX(slideOffset * drawerView.getWidth());
                    mDrawerLayout.bringChildToFront(drawerView);
                    mDrawerLayout.requestLayout();
                }
            };
            mDrawerLayout.setDrawerListener(mDrawerToggle);
    
        }
    
    }
    

提交回复
热议问题