Android DrawerLayout+Toolbar+NavigationView(实现侧拉侧滑效果)
2016-11-24 17:49
531 查看
1. gradle 配置参数和style的配置
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1' }
<style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">#673AB7</item> <item name="colorPrimaryDark">#512DA8</item> <item name="colorAccent">#FF4081</item> <item name="android:windowBackground">@color/window_background</item> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> // 最后2个参数不配置。在5.0以下的的手机运行会报错 </style>
2.toolber和navigationView的使用
a.布局
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 内容界面 --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/toolbar" /> <FrameLayout android:id="@+id/main_content_fl" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> <!-- 侧滑菜单内容 --> <android.support.design.widget.NavigationView android:id="@+id/_main_navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" /> </android.support.v4.widget.DrawerLayout>b.代码
mToolbar.setNavigationIcon(R.mipmap.ic_launcher);// logo setSupportActionBar(mToolbar); mToolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {// 通过logo的点击事件来显示侧拉的列表mDrawerLayout.openDrawer(Gravity.START); } });c. mNavigationView里面内容显示
1.添加布局用ListView来显示内容
private void setupDrawerContent() { View view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.left_menu,null); ListView lv_content= (ListView) view.findViewById(R.id.lv_content); ArrayList<String> list=new ArrayList<String>(); for (int i=0;i<6;i++){ list.add("第"+i+"个"); } ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,list); lv_content.setAdapter(adapter); mNavigationView.addView(view); }2.mNavigationView 里面用menu来显示
<android.support.design.widget.NavigationView android:id="@+id/_main_navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/header" app:menu="@menu/menu_main" />app:headerLayout="@layout/header" // 添加头部布局 app:menu="@menu/menu_main" // menu的布局
相关文章推荐
- Android DrawerLayout+ToolBar+NavigationView实现侧滑菜单效果,沉浸式状态栏
- Android中DrawerLayout+Toolbar实现侧滑效果[DrawerLayout+ToolBar+NavigationView]
- Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar)
- NavigationView+Drawerlayout+Toolbar实现侧滑菜单
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
- Kotlin实现侧滑抽屉菜单(DrawerLayout+NavigationView+Toolbar)
- DrawerLayout NavigationView 实现侧滑(android MD 一)
- DrawerLayout NavigationView 实现侧滑(Android MD风格一)
- 【DrawerLayout+NavigationView】android侧滑菜单实现
- 侧滑菜单的简单实现(DrawerLayout+Toolbar+NavigationView)
- Android中利用DrawerLayout+NavigationView实现滑动菜单效果
- NavigationView+DrawerLayout实现侧滑栏效果
- Android 抽屉侧滑菜单 DrawerLayout+NavigationView+ToolBar
- Android 之 Material Design(三)—DrawerLayout+NavigationView+Toolbar(点击icon打开关闭侧滑菜单)
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
- Android--NavigationView+DrawerLayout实现侧滑(仿QQ)
- android 使用ViewDragHelper轻松实现DrawerLayout和SlidMenu侧滑效果
- Android5.0之NavigationView的使用 。android组件之DrawerLayout(抽屉导航)-- 侧滑菜单效果
- Android DrawerLayout+NavigationView布局实现左右两边侧滑菜单
- Android Toolbar+DrawerLayout+PagerSlidingTabStrip实现仿csdn侧滑菜单