Android笔记之DrawerLayout的基本使用

摘要:
呈现活动_ main。xml˂?xmlversion=“1.0”encoding=“utf-8”?

效果图

Android笔记之DrawerLayout的基本使用第1张

Android笔记之DrawerLayout的基本使用第2张

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#ffffffff">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="355dp"
                android:background="@mipmap/ic_main_background" />

            <RelativeLayout
                android:id="@+id/titleRelativeLayout"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_marginTop="18dp">

                <FrameLayout
                    android:id="@+id/userFrameLayout"
                    android:layout_width="45dp"
                    android:layout_height="match_parent">

                    <ImageView
                        android:layout_width="20dp"
                        android:layout_height="20dp"
                        android:layout_gravity="center_vertical"
                        android:layout_marginLeft="15dp"
                        android:src="@mipmap/ic_user" />
                </FrameLayout>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:text="标题"
                    android:textColor="#fff0f0f0"
                    android:textSize="18sp" />
            </RelativeLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="150dp"
                android:text="DrawerLayout演示"
                android:textColor="#fff0f0f0"
                android:textSize="25sp" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="500dp"
                android:text="This is a stub."
                android:textAllCaps="false" />
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/leftLinearLayout"
            android:layout_width="233dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="#ffffffff"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="39dp"
                android:layout_marginBottom="23dp">

                <ImageView
                    android:layout_width="56dp"
                    android:layout_height="56dp"
                    android:layout_marginLeft="18dp"
                    android:layout_marginRight="16dp"
                    android:src="@mipmap/ic_portrait" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:text="布同林"
                    android:textColor="#ff1b1b1b"
                    android:textSize="18sp" />
            </LinearLayout>

            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#ffdfdfdf" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="18dp"
                android:drawableLeft="@mipmap/ic_profile"
                android:drawablePadding="17dp"
                android:paddingTop="30dp"
                android:text="我的资料"
                android:textColor="#ff1b1b1b"
                android:textSize="14sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="18dp"
                android:drawableLeft="@mipmap/ic_message"
                android:drawablePadding="17dp"
                android:paddingTop="27dp"
                android:text="我的消息"
                android:textColor="#ff1b1b1b"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/aboutUsTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="18dp"
                android:drawableLeft="@mipmap/ic_information"
                android:drawablePadding="17dp"
                android:paddingTop="27dp"
                android:text="关于我们"
                android:textColor="#ff1b1b1b"
                android:textSize="14sp" />

            <Button
                android:id="@+id/closeDrawerButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="40dp"
                android:text="关闭" />
        </LinearLayout>
    </android.support.v4.widget.DrawerLayout>
</LinearLayout>

MainActivity.java

package com.bu_ish.empty;

import android.graphics.Color;
import android.os.Build;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;

public class MainActivity extends AppCompatActivity {
    private DrawerLayout drawerLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Window window = getWindow();
        window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            window.setStatusBarColor(Color.TRANSPARENT);
        }
        drawerLayout = findViewById(R.id.drawerLayout);
        findViewById(R.id.userFrameLayout).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawerLayout.openDrawer(Gravity.LEFT);
            }
        });
        findViewById(R.id.aboutUsTextView).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new AlertDialog.Builder(MainActivity.this).setMessage("布同林").show();
            }
        });
        findViewById(R.id.closeDrawerButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawerLayout.closeDrawer(Gravity.LEFT);
            }
        });
    }
}

P.S.

左侧划出菜单,则android:layout_gravity="left"

DrawerLayout.openDrawer(int gravity):打开菜单

DrawerLayout.closeDrawer(int gravity):关闭菜单

完整Demo

链接:https://pan.baidu.com/s/16tsE4jiQWbTdGSNKBHK-4g
提取码:cd25

免责声明:文章转载自《Android笔记之DrawerLayout的基本使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇rabbitMQ日常管理(转)Windows 新增远程桌面会话连接数(可多人同时远程桌面,互不影响)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DrawerLayout 设置为滑动范围全盘

public void setDrawerLeftEdgeSize(DrawerLayout drawerLayout, float displayWidthPercentage) { if (drawerLayout == null) return; try { // find Vie...

Android典型界面设计(7) ——DrawerLayout+Fragement+ViewPager+PagerTabStrip实现双导航

一、问题描述   在Android典型界面设计(3)的我们实现了双导航效果,即外层底部导航和内部区域的头部导航,如网易新闻等很多应用采用了这种导航,但Google提供DrawerLayout可实现抽屉式导航,建议使用DrawerLayout代替底部导航,下面我们就使用官方提供的DrawerLayout+Fragement+ViewPager+PagerTa...