一、创建抽屉布局

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/drawer_layout"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <!-- The main content view -->    <FrameLayout        android:id="@+id/content_frame"        android:layout_width="match_parent"        android:layout_height="match_parent" >    </FrameLayout>    <!-- The navigation view -->    <ListView        android:id="@+id/left_drawer"        android:layout_width="320dp"        android:layout_height="match_parent"             android:layout_gravity="start"        android:background="#ffffcc"        android:choiceMode="singleChoice"        android:divider="@android:color/transparent"        android:dividerHeight="0dp" >    </ListView></android.support.v4.widget.DrawerLayout>

[AndroidUI]使用DrawerLayout实现侧滑菜单_第1张图片


注意事项:

1、主内容视图一定要是DrawerLayout的第一个子视图

2、主内容视图宽度和高度匹配父视图,即“match_parent”
3、必须显示指定抽屉视图(如ListView)的 android:layout_gravity 属性

android:layout_gravity=“start”时,从左向右滑出菜单

android:layout_gravity=“end” 时,从右向左滑出菜单

不推荐使用 “left”和“right”

4、抽屉视图的宽度以dp为单位,请不要超过320dp(为了总能看到一些主内容视图)


二、初始化导航列表

package com.example.testdrawerlayout;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class ContentFragment extends Fragment {private TextView textView;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_content, container, false);textView = (TextView) view.findViewById(R.id.textView);String text = getArguments().getString("text");textView.setText(text);return view;}}

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/textView"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="25sp" /></LinearLayout>

package com.example.testdrawerlayout;import java.util.ArrayList;import android.net.Uri;import android.os.Bundle;import android.R.anim;import android.app.Activity;import android.app.Fragment;import android.app.FragmentManager;import android.content.Intent;import android.content.res.Configuration;import android.support.v4.app.ActionBarDrawerToggle;import android.support.v4.widget.DrawerLayout;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActivity extends Activity implements OnItemClickListener {private DrawerLayout mDrawerLayout;private ListView mDrawerList;private ArrayList<String> menuLists;private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);mDrawerList = (ListView) findViewById(R.id.left_drawer);menuLists = new ArrayList<String>();for (int i = 0; i < 50; i++)menuLists.add("极客学院0" + i);adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, menuLists);mDrawerList.setAdapter(adapter);mDrawerList.setOnItemClickListener(this);}@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int position,long arg3) {// 动态插入一个Fragment到FrameLayout当中Fragment contentFragment = new ContentFragment();Bundle args = new Bundle();args.putString("text", menuLists.get(position));contentFragment.setArguments(args);FragmentManager fm = getFragmentManager();fm.beginTransaction().replace(R.id.content_frame, contentFragment).commit();mDrawerLayout.closeDrawer(mDrawerList);}}

[AndroidUI]使用DrawerLayout实现侧滑菜单_第2张图片


三、监听抽屉的打开关闭事件


四、点击图标开闭抽屉

更多相关文章

  1. Android 实现导航菜单左右滑动效果
  2. Android 添加菜单和返回按钮
  3. Android基本之Menu菜单
  4. Android菜单(Menu) - 4
  5. android底部菜单栏的实现和百度地图API的使用
  6. Android怎么用onCreateOptionsMenu()创建菜单
  7. Android滑动导航菜单的快速构建

随机推荐

  1. android常用intent的方法
  2. [Android] URI那些事
  3. 【Android(安卓)开发教程】GridView
  4. 最详细的mac下Android(安卓)studio配置gr
  5. Android Studio中实现摇杆
  6. Android(安卓)-- 官方下拉刷新SwipeRefre
  7. Use adb to connect PC with Android Dev
  8. android 源码下载中遇到的问题 repo sync
  9. Android Studio Jar包使用一
  10. Android复制Assets目录下的文件到指定目