Android 使用V4包写侧滑菜单(android.support.v4.widget.DrawerLayout)

  在Android 中写侧滑菜单可以自定义,也可以使用安卓官方自带的v4包,也有第三方包可以用。这里记录官方的

android.support.v4.widget.DrawerLayout

这种方法比较简单,在xml布局文件中搭建好,在Activity中调用
m.openDrawer(Gravity.LEFT);方法就可以使用了。
注意点:这个方法不可以放在oncreat方法中直接使用,涉及线程的原因,这里不作介绍。
    界面内容都放在v4包内,如下
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
界面内容
</android.support.v4.widget.DrawerLayout>

界面布局在v4包内会有些快捷词没法联想出来,所以最好先写好界面,然后在头尾加上v4包

侧滑效果有两种:手指侧滑和点击弹出侧滑界面,先上效果图:






XML文件布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/draw"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
<!--主界面-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#000000"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

        </LinearLayout>
<!--侧滑界面-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="left"//这个属性决定侧滑界面是左侧滑还是右侧滑
            android:background="#ded3d3"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#000000" />

        </LinearLayout>
    </android.support.v4.widget.DrawerLayout>


</LinearLayout>

 






 
Maintivity.java文件

public class MainActivity extends AppCompatActivity {
    DrawerLayout drawerLayout;
    Button btn, btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        drawerLayout = (DrawerLayout) findViewById(R.id.draw);
        btn = (Button) findViewById(R.id.btn);
        btn2 = (Button) findViewById(R.id.btn2);
//实现方法一:
定义好xml文件后手指侧滑就可以拉出侧滑界面了
//实现方法二:
定义好xml文件后,在java文件中添加点击事件也可以拉出侧滑菜单,代码如下:

// 点击主界面中的按钮弹出侧滑界面 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(Gravity.LEFT); } }); // 点击侧滑界面中的按钮缩回侧滑界面 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.closeDrawer(Gravity.LEFT); } }); } }

 

注意:主界面布局一定要放在侧滑界面的上面,否则侧滑界面中无法添加点击事件







posted @ 2017-12-07 16:44  西红柿里没有番茄  阅读(15011)  评论(1编辑  收藏  举报