Android ToolBar

来源:互联网 发布:淘宝店铺视觉设计 编辑:程序博客网 时间:2024/05/17 05:14

DrawerLayout:

DrawerLayout是Support Library包中实现侧滑菜单的效果。主要分成两部分:侧滑菜单和主体内容,侧滑菜单可以通过手势展开与隐藏,主体内容可以随着菜单的点击而变化。

<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent">    <LinearLayout        android:id="@+id/ll_fm_container"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:orientation="vertical">        <android.support.v7.widget.Toolbar            android:id="@+id/tb"            android:layout_width="match_parent"            android:layout_height="?attr/actionBarSize"            android:background="#40B8EE">        </android.support.v7.widget.Toolbar>    </LinearLayout>    <android.support.design.widget.NavigationView        android:layout_width="200dp"        android:layout_height="match_parent"        android:layout_gravity="start"        app:menu="@menu/menu_main">    </android.support.design.widget.NavigationView></android.support.v4.widget.DrawerLayout>

需要注意两个问题:第一、主体内容的布局代码要放在侧滑菜单布局的前面,这样有助于DrawerLayout判断谁是侧滑菜单,谁是主内容。第二、侧滑菜单的部分布局可以设置layout_gravity属性,start表示左菜单,end表示右菜单。

NavigationView是导航抽屉,被设计应用于导航抽屉,提供了一种通用的导航方式,体现了设计的一致性。它提供的默认样式包括选中项高亮、分组单选、分组子标题,以及可选的header。

mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {            @Override            public boolean onNavigationItemSelected(MenuItem item) {                if (mOldItem != null)                    mOldItem.setChecked(false);                switch (item.getItemId()) {                    case R.id.menu_main_home:                        Log.e(TAG, "----->>首页");                        break;                    case R.id.menu_main_my_home:                        Log.e(TAG, "---->>个人首页");                        break;                    case R.id.menu_main_all_home:                        Log.e(TAG, "---->>公共首页");                        break;                    case R.id.menu_main_info:                        Log.e(TAG, "---->>个人信息");                        break;                    default:                        break;                }                mOldItem = item;                item.setChecked(true);                 mDrawerLayout.closeDrawers();                return true;            }        });

通过setNavigationItemSelectedListener()方法可以获得相应的点击事件

0 0
原创粉丝点击