DrawerLayout
android.support.v4.widget.DrawerLayout
实现侧滑抽屉效果
注意v4包理由没有DrawerLayout
功能一:实现侧滑
layout
activity_main.xml
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
</android.support.v4.view.ViewPager>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="@drawable/bg_tab" />
</android.support.v4.widget.DrawerLayout>
功能二:点击action home侧滑
伪代码:
参看:http://blog.csdn.net/jjwwmlp456/article/details/41206513
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout);
ActionBar bar = getActionBar();
//bar.setHomeButtonEnabled(true);
bar.setDisplayHomeAsUpEnabled(true);//设置home显示“三横”图标
// 参数1:当前的actionbar 参数2:哪个侧滑需要控制 参数3:按钮图标来控制侧滑
// 参数4,5:打开关闭抽屉描述
actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer_am,
R.string.drawer_open,R.string.drawer_close);
设置drawer的开关监听
drawerLayout.setDrawerListener(new DrawerListener() {
@Override
public void onDrawerStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onDrawerSlide(View arg0, float arg1) {
// TODO Auto-generated method stub
}
@Override
public void onDrawerOpened(View arg0) {
// TODO Auto-generated method stub
}
@Override
public void onDrawerClosed(View arg0) {
// TODO Auto-generated method stub
}
});
//将actionbar与DrawerLayout同步关联
actionBarDrawerToggle.syncState();
}
// 处理搜索点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_search) {
Toast.makeText(this, "搜索", 0).show();
}
return actionBarDrawerToggle.onOptionsItemSelected(item)||super.onOptionsItemSelected(item);
}