Android DrawerLayout+Toolbar实现

DrawerLayout+Toolbar实现

导入material design 组件

'com.android.support:design:25.0.1'

  • 主布局:


    
    

        

            
        

        
    

    
    

        
    


  • 主界面初始化ToolBar
public class MainActivity extends AppCompatActivity {

    Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }
}
  • 添加NoActionBar主题(values/styles.xml)

  • 设置主布局的主题为NoActionBar


    Android DrawerLayout+Toolbar实现_第1张图片
    snipaste20170314_221750.png
  • AndroidManifest.xml中将主题改为AppTheme.NoActionBar


        
            
                

                
            
        
    

注意事项:

  1. 侧滑布局位置属性:android:layout_gravity="start"
  2. DrawerLayout添加适应系统窗口:android:fitsSystemWindows="true"

侧滑布局改为NavigationView

侧滑布局

    
    

    提示:
    * app:headerLayout="@layout/header"(添加布局头部)
    * app:menu="@menu/nav_menu"(添加布局菜单)

@menu/nav_menu:


    
        
        
    
    
        
            
            
        
    

初始化NavigationView:

//navigationView  icon显示原始颜色
navigationView.setItemIconTintList(null);
//navigationView添加item选择监听事件
navigationView.setNavigationItemSelectedListener(this);

@Override
    public boolean onNavigationItemSelected(MenuItem item) {
        getSupportActionBar().setTitle(item.getTitle());
        switch (item.getItemId()) {
            case R.id.news:
                break;
        }
        drawerLayout.closeDrawer(GravityCompat.START);
        return true;
    }

你可能感兴趣的:(Android DrawerLayout+Toolbar实现)