DrawerLayout+Toolbar+NavigationView注意事项
来源:互联网 发布:xampp怎么升级php版本 编辑:程序博客网 时间:2024/05/22 06:39
1.setSupportActionBar(mTooleBar);调用之前应在androidmainfest文件中,这个activity声明时,需要加上Android:theme=”@style/AppTheme.NoActionBar如:
<activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar"></activity>
2.ToolBar左侧图标替换
首先,设置ActionBarDrawerToggle:toggle.setDrawerIndicatorEnabled(false);
然后,设置图片:toolbar.setNavigationIcon(R.drawable.mypic1);
最后,设置toolbar的监听,打开侧边栏:
toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(GravityCompat.START); }});
3,ToolBar右侧menu图标设置:
tooleBar.setOverflowIcon(getResources().getDrawable(R.drawable.pic2));
4,打开toolbar的menu时不遮挡toolbar,在style文件中设置overlapAnchor为false:
<style name="AppTheme.NoActionBar"> <itemname="actionOverflowMenuStyle">@style/ToolbarPopupTheme</item></style><style name="ToolbarPopupTheme"> <!-- 是否覆盖锚点,默认为true,即盖住Toolbar --> <item name="overlapAnchor">false</item></style>
注:ToolbarPopupTheme中可设置menu的属性,如背景颜色等;
5,menu中同时显示图片和文字需在onCreateOptionsMenu或者onMenuOpened中添加如下代码: if (menu != null) {
if(menu.getClass().getSimpleName().equalsIgnoreCase("MenuBuilder")) {
try {
Method method = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
method.setAccessible(true);
method.invoke(menu, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
6,setOnMenuItemClickListener不只是不是个人原因,只有写在onCreateOptionsMenu或者onMenuOpened中才有效
7,关于NavigationView的使用: <android.support.design.widget.NavigationView
android:id="@+id/drawer_navig_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:layout_gravity="left"
app:headerLayout="@layout/header_nv_main"
app:menu="@menu/content_menu_navigation_main"/>
其中:
android:fitsSystemWindows的值用于设置状态栏透明化与否。
android:layout_gravity可设置抽屉,也就是NavigationView从左边或是右边打开。如果不设置改属性,抽屉则为打开状态,挡住主界面,可对其子控件设置该属性,不同控件设置不同值,可以从不同方向打开对应控件
app:menu用于设置菜单内容的xml布局。
app:headerLayout用于设置NavigationView的HeaderView的xml布局文件。
以上内容大多为整理网上大神的文章,写在这里留作以后参考用
- DrawerLayout+Toolbar+NavigationView注意事项
- ToolBar+DrawerLayout+NavigationView
- NavigationView+Drawerlayout+Toolbar实现侧滑菜单
- Android DrawerLayout+Toolbar+NavigationView(实现侧拉侧滑效果)
- 记录 DrawerLayout 和Toolbar+NavigationView 使用
- Android中DrawerLayout+Toolbar实现侧滑效果[DrawerLayout+ToolBar+NavigationView]
- toolbar+DrawerLayout+NavigationView的最佳实现
- Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar)
- 侧滑菜单的简单实现(DrawerLayout+Toolbar+NavigationView)
- Android DrawerLayout+ToolBar+NavigationView实现策划效果,沉浸式状态栏
- Android 抽屉侧滑菜单 DrawerLayout+NavigationView+ToolBar
- android5.0的drawerLayout,toolBar,FloatingActionButton,NavigationView的实现
- DrawerLayout,Toolbar,NavigationView实现侧滑的基本使用
- Kotlin实现侧滑抽屉菜单(DrawerLayout+NavigationView+Toolbar)
- NavigationView+DrawerLayout
- DrawerLayout && NavigationView
- NavigationView+Toolbar
- DrawerLayout,Toolbar
- bootstrap代码控制模态框的显示和隐藏
- 制作ubuntu16.04的docker镜像
- spring boot整合RabbitMQ(Direct模式)
- C和C++到底有什么关系
- Android进程与线程基本知识
- DrawerLayout+Toolbar+NavigationView注意事项
- 强大的视图拖拽助手--ViewDragHelper
- SpringMVC拦截器(资源和权限管理)
- spring security 集成cas单点登录核心配置及相关java代码
- 静态网页和动态网页的区别(转载)
- Monkey基本用法与常用参数
- python--yield>>>协程
- 观察者模式
- JavaSE学习----Arrays类