Material Design设计

来源:互联网 发布:开淘宝店没有营业执照 编辑:程序博客网 时间:2024/06/05 08:00

1、抽屉

NavigationView+DrawerLayout 实现抽屉

在NavigationView当中添加app:headLayout 以及app:menu

  getSupportActionBar().setDisplayShowTitleEnabled(false);        ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close);        mDrawerToggle.syncState();        drawerLayout.addDrawerListener(mDrawerToggle);        navigationView = (NavigationView) findViewById(R.id.id_nv_menu);        setupDrawerContent(navigationView);
或者

 final ActionBar ab = getSupportActionBar();        ab.setHomeAsUpIndicator(R.mipmap.ic_launcher);        ab.setDisplayHomeAsUpEnabled(true);        setupDrawerContent(navigationView);

添加点击事件
 private void setupDrawerContent(NavigationView navigationView) {        navigationView.setNavigationItemSelectedListener(                new NavigationView.OnNavigationItemSelectedListener() {                    @Override                    public boolean onNavigationItemSelected(MenuItem menuItem) {                        switch (menuItem.getItemId()) {                            case R.id.layout_refresh:                                Toast.makeText(MainActivity.this,"刷新",Toast.LENGTH_LONG).show();                                getSupportFragmentManager().beginTransaction().replace(R.id.fl_content, new RecycleViewContentFragment()).commit();                                break;                            case R.id.layout_hide_head:                                Toast.makeText(MainActivity.this,"隐藏",Toast.LENGTH_LONG).show();                                getSupportFragmentManager().beginTransaction().replace(R.id.fl_content, new HideHeadFragment()).commit();                                break;                        }                        menuItem.setChecked(true);                        drawerLayout.closeDrawers();                        return true;                    }                });    }
2、Tablayout+ViewPager实现tab切换

TabLayout 通过tab.addTab(tab.newTab().setText(""))添加tab

通过tab.setTabMode()设置格式

viewPager适配实现了FragmentStatePagerAdapter来实现fragment切换

tab.setupWithViewPager() 实现两者联动


3、AppBarLayout+CollspingToolbarLayout

实现头部隐藏  

CollspingToolbarLayout弹性隐藏



CoordinatorLayout是FrameLayout的扩展类与CollapsingToolbarLayout弹性layout是不一样的