目标效果:
在上一个的导航基础上,导航过后进入了主页面,手指向右滑动或者点击左上角的菜单图标,可以显示菜单侧栏,点击某一项可以吐司信息。
素材包:点击打开链接
1.素材包中有个SlideMenu.java页面,新建包并保存该包中。
2.新建leftmenu.xml页面,用于存储侧滑菜单的控件信息。
leftmenu.xml页面:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="match_parent"
android:background="@drawable/leftmenu_bg"
xmlns:app="http://schemas.android.com/apk/res/com.example.login">
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/rivUserPhoto"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/head"
app:riv_oval="true" />
<TextView
android:id="@+id/tvMotto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/rivUserPhoto"
android:layout_marginBottom="24dp"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/rivUserPhoto"
android:text="奔跑无止境"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"/>
<ListView
android:id="@+id/lvMenuList"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@id/tvMotto"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:listSelector="#00000000"
android:divider="@color/whitesmoke"
android:dividerHeight="1dp"/>
</RelativeLayout>
3.activity_main,xml页面包含侧滑菜单的控件。
activity_main.xml页面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<!-- padding...代表该控件距离空间中内容的边距离,是内边距 -->
<com.example.walkersimulate.util.SlideMenu
android:id="@+id/slideMenu"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/leftmenu"/>
<!-- 侧滑菜单 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/main_layout_titlebar"/>
<include layout="@layout/main_layout_content"/>
</LinearLayout>
</com.example.walkersimulate.util.SlideMenu>
</RelativeLayout>
4.string.xml页面定义数组保存菜单中的列表信息。
string.xml页面:
<?xml version="1.0" encoding="utf-8"?>
<!-- 设置Text的页面 -->
<resources>
<string name="app_name">登录</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="tvForgetPass"><u>忘记密码</u></string>
<string name="etName">请输入用户名</string>
<string name="etPass">请输入密码</string>
<string name="btLogin">登录</string>
<string name="btRegister">注册</string>
<string name="title_activity_register">RegisterActivity</string>
<string name="title_activity_login">LoginActivity</string>
<string name="etAccount">账号</string>
<string name="etNickname">昵称</string>