Menu

作者: Android卡卡西 | 来源:发表于2020-03-19 17:39 被阅读0次

1.侧滑菜单

①添加依赖(implementation 'com.android.support:design:29.0.2')
②创建布局:DrawerLayout、Toolbar、NavigationView(menu、header)
③设置actionbar:toolbar设置标题、logo、关联toolbar和侧滑
④监听事件:头部监听、侧滑菜单监听、DrawerLayout、Home旋转开关
⑤沉浸式状态栏

//设置 Logo
 toolbar.setLogo(R.mipmap.logo); 
// 设置主标题  
toolbar.setTitle("Title"); 
// 设置副标题 
 toolbar.setSubtitle("Sub Title"); 
//设置toolbar,将Toolbar设置到界面上  
setSupportActionBar(toolbar); 
//左边的小箭头(注意某些版本api需要在setSupportActionBar(toolbar)之后才有效果)  
toolbar.setNavigationIcon(R.mipmap.back); 
//菜单点击事件(注意需要在setSupportActionBar(toolbar)之后才有效果)
  toolbar.setOnMenuItemClickListener(onMenuItemClick);
//点击头部
View headerView = nv.getHeaderView(0);
        View iv = headerView.findViewById(R.id.iv);
        iv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "点击了头部", Toast.LENGTH_SHORT).show();
            }
        });
//Home旋转开关
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, dl, toolbar, R.string.app_name, R.string.app_name);
        dl.addDrawerListener(toggle);
        toggle.syncState();

android:fitsSystemWindows="true"
//在res文件夹下创建values-v21,复制styles.xml并添加属性
  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!--透明状态栏-->
        <item name="android:statusBarColor">#00ffffff</item>
    </style>

2.选项菜单

①创建选项菜单(onCreateOptionsMenu)
②选项菜单的点击事件(onOptionsItemSelected)
※Fragment中加setHasOptionsMenu(true);

 @Override
    public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        menu.add(0, 1, 0, "").setIcon(R.drawable.home_highlight).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    }

3.上下文菜单

①注册上下文菜单(registerForContextMenu())
②创建上下文菜单(onCreateContextMenu)
③上下文菜单的点击事件(onContextItemSelected)

相关文章

网友评论

      本文标题:Menu

      本文链接:https://www.haomeiwen.com/subject/amwlyhtx.html