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的布局