这个类不在android开发工具包中,在android.support.v4.widget.DrawerLayout中,能实现左右侧滑的效果。
相关属性:
android:layout_gravity:设置抽屉的内容从左边或者右边出来
相关方法:
openDrawer(Gravity.LEFT | Gravity.RIGHT):设置左边 | 右边内容出来
closeDrawer(Gravity.LEFT | Gravity.RIGHT):关闭左边 | 右边内容出来
代码示意:
主框架代码:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/dl_main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.mixm.activity.MainActivity" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#ff0000" ><include layout="@layout/activity_center"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="left"android:background="#00ff00" ><include layout="@layout/activity_left" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="right"android:background="#0000ff" ><include layout="@layout/activity_right" /></LinearLayout></android.support.v4.widget.DrawerLayout>
中间xml文件:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><Buttonandroid:id="@+id/btn_openLeft"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开左边"/><Buttonandroid:id="@+id/btn_openRight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="打开右边"/></RelativeLayout>
左边屉子xml文件代码:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><Buttonandroid:id="@+id/btn_closeLeft"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="关闭" /></RelativeLayout>
右边屉子xml文件代码:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><Buttonandroid:id="@+id/btn_closeRight"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="关闭"/></RelativeLayout>
java文件代码:
import android.app.Activity;import android.os.Bundle;import android.support.v4.widget.DrawerLayout;import android.view.Gravity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button btn_closeLeft;private Button btn_closeRight;private Button btn_openLeft;private Button btn_openRight;private DrawerLayout dl_main;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}private void init() {dl_main = (DrawerLayout) findViewById(R.id.dl_main);btn_openLeft = (Button) findViewById(R.id.btn_openLeft);btn_openRight = (Button) findViewById(R.id.btn_openRight);btn_closeLeft = (Button) findViewById(R.id.btn_closeLeft);btn_closeRight = (Button) findViewById(R.id.btn_closeRight);// 添加打开监听事件btn_openLeft.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {dl_main.openDrawer(Gravity.LEFT);}});btn_openRight.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {dl_main.openDrawer(Gravity.RIGHT);}});// 添加关闭监听事件btn_closeLeft.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {dl_main.closeDrawer(Gravity.LEFT);}});btn_closeRight.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {dl_main.closeDrawer(Gravity.RIGHT);}});}}
本文介绍如何使用android.support.v4.widget.DrawerLayout实现Android应用中的侧滑菜单效果,并提供了详细的XML布局及Java代码示例。
532

被折叠的 条评论
为什么被折叠?



