新建一个项目DrawerlayoutDemo,抽屉控件,这里使用官方自带的控件Drawerlayout来实现,这个控件只能是根控件,然后他抽屉部分和主界面是用layout_gravity来区别.
activity_main.xml代码:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button"
android:text="打开抽屉"
android:layout_height="wrap_content"
android:layout_width="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="270.dip"
android:layout_gravity="start"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark"
android:orientation="vertical">
<TextView
android:text="这是左边栏~"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
MainActivity.java代码:
package com.example.administrator.drawerlayoutdemo;
import android.app.Activity;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout =(DrawerLayout)findViewById(R.id.drawerlayout);
((Button)findViewById(R.id.button)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.openDrawer(Gravity.LEFT);
}
});
}
}
看一下效果:
第一张是打开之后的效果,第二张是没打开的效果,当然了,用手向右边滑动也是可以的~
源码(DrawerlayoutDemo)