Transition in navigation drawer android

后端 未结 2 1256
你的背包
你的背包 2021-01-01 00:46

Anyone having idea that how to achieve this type of transition. When we open Navagation drawer full screen is getting animation like this. I also looked at resi

2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-01 01:10

    Finally I got my answer through this link for original post. Please have a look here

    
    
    
    
    
    
    
        
    
            
    
    
            
    
        
    
    
    
    
    
     
    

    and for MainActivity.java please have a look below

            public class MainActivity extends AppCompatActivity {
    public TabsPagerAdapter tabsPagerAdapter;
    public static ViewPager pager;
    int Numboftabs = 2;
    Toolbar toolbar;
    public NavigationView navigationView;
    public DrawerLayout drawer;
    View holderView, contentView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        navigationView = (NavigationView) findViewById(R.id.nav_view);
        holderView = findViewById(R.id.holder);
        contentView = findViewById(R.id.content);
        tabsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager(), Numboftabs);
        pager = (ViewPager) findViewById(R.id.pager);
        pager.setAdapter(tabsPagerAdapter);
        toolbar.setNavigationIcon(new DrawerArrowDrawable(this));
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                                                 @Override
                                                 public void onClick(View v) {
                                                     if (drawer.isDrawerOpen(navigationView)) {
                                                         drawer.closeDrawer(navigationView);
                                                     } else {
                                                         drawer.openDrawer(navigationView);
                                                     }
                                                 }
                                             }
        );
    
    
        drawer.setScrimColor(Color.TRANSPARENT);
        drawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
                                     @Override
                                     public void onDrawerSlide(View drawer, float slideOffset) {
    
    
                                         contentView.setX(navigationView.getWidth() * slideOffset);
                                         RelativeLayout.LayoutParams lp =
                                                 (RelativeLayout.LayoutParams) contentView.getLayoutParams();
                                         lp.height = drawer.getHeight() -
                                                 (int) (drawer.getHeight() * slideOffset * 0.3f);
                                         lp.topMargin = (drawer.getHeight() - lp.height) / 2;
                                         contentView.setLayoutParams(lp);
                                     }
    
                                     @Override
                                     public void onDrawerClosed(View drawerView) {
                                     }
                                 }
        );
    
    }
    

提交回复
热议问题