android官方侧滑菜单DrawerLayout 介绍

1.v4支持包中的

2.布局文件

<android.support.v4.widget.DrawerLayout 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" 
	    android:id="@+id/dl">

	    <LinearLayout
	        android:layout_width="match_parent"
	        android:layout_height="match_parent"
	        android:layout_centerHorizontal="true"
	        android:layout_centerVertical="true"
	       />
	
	    <FrameLayout android:layout_width="match_parent"
	        android:layout_height="match_parent"
	        android:background="@drawable/bg_tab"
	        android:layout_gravity="left"> <pre name="code" class="html"><!--从左面滑出的布局--><span style="font-family: Arial, Helvetica, sans-serif;">	        </span>
</FrameLayout></android.support.v4.widget.DrawerLayout>

 3.控制抽屉的开关, 显示在actionBar 上面  
 

	ActionBar actionBar = getSupportActionBar();
		actionBar.setDisplayHomeAsUpEnabled(true);
		actionBar.setHomeButtonEnabled(true);


		drawerToggle = new ActionBarDrawerToggle(this,
				mDrawerLayout, R.drawable.ic_drawer_am, R.string.open_drawer,
				R.string.close_drawer){

					@Override
					public void onDrawerClosed(View drawerView) {
						super.onDrawerClosed(drawerView);
						Toast.makeText(getApplicationContext(), "抽屉关闭了", 0).show();
					}

					@Override
					public void onDrawerOpened(View drawerView) {
						super.onDrawerOpened(drawerView);
						Toast.makeText(getApplicationContext(), "抽屉打开了", 0).show();
					}
			
			
			
		};
		mDrawerLayout.setDrawerListener(drawerToggle);
		//  让开关和actionbar建立关系 
		drawerToggle.syncState();



		/** 处理actionBar菜单条目的点击事件 */
		public boolean onOptionsItemSelected(MenuItem item) {
			if (item.getItemId() == R.id.action_search) {
				Toast.makeText(getApplicationContext(), "搜索", 0).show();
			}
	
			return drawerToggle.onOptionsItemSelected(item)|super.onOptionsItemSelected(item);
		}
注意:

actionBar.setDisplayHomeAsUpEnabled(true)    // 给左上角图标的左边加上一个返回的图标 。对应ActionBar.DISPLAY_HOME_AS_UP



actionBar.setDisplayShowHomeEnabled(true)   //使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,否则,显示应用程序图标,对应id为android.R.id.home,对应ActionBar.DISPLAY_SHOW_HOME



actionBar.setDisplayShowCustomEnabled(true)  // 使自定义的普通View能在title栏显示,即actionBar.setCustomView能起作用,对应ActionBar.DISPLAY_SHOW_CUSTOM



actionBar.setDisplayShowTitleEnabled(true)   //对应ActionBar.DISPLAY_SHOW_TITLE。

其中setHomeButtonEnabled和setDisplayShowHomeEnabled共同起作用,如果setHomeButtonEnabled设成false,即使setDisplayShowHomeEnabled设成true,图标也不能点击




你可能感兴趣的:(android官方侧滑菜单DrawerLayout 介绍)