其实侧滑菜单大家以为有点小难,但是我告诉你们,一点也不难,步骤繁琐不代表难
首先他的Xml类:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--主布局-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5">
<TextView
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="主页面"
android:textSize="35sp"/>
</LinearLayout>
<!--
侧滑菜单
android:layout_gravity="start"从左边滑出
android:layout_gravity="end"从右边滑出
-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5"
android:layout_gravity="start"
>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="侧滑菜单"
android:gravity="center"
android:textSize="35sp"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
然后他的Class类的一些方法:
private Toolbar toolbar;
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerLayout= (DrawerLayout) findViewById(R.id.drawerLayout);
ActionBar actionBar = getSupportActionBar();
//给左上角图标的左边加上一个返回的图标 参数:boolean,true为加上
actionBar.setDisplayHomeAsUpEnabled(true);//在4.0及其以上系统,默认是false
//这个类提供了一种方便的方式来绑定的功能 DrawableLayout和框架ActionBar来实现推荐的导航抽屉设计
//参数:1.上下文 2.DrawerLayout 3,4:R.string.资源(照顾盲人,当盲人点击时,会发出声音)
mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);
//将抽屉指示器的状态与连接的DrawableLayout同步其状态
mToggle.syncState();
mDrawerLayout.addDrawerListener(mToggle);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
其中ActionBarDrawerToggle方法调用的是V7包不要搞错了哦
还有就是 mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);里的(R.string.open, R.string.close)参数,其实就是在values包下string.Xml文件中设置**就是你要随便定义的喽
<string name="open">**</string>
<string name="close">**</string>