Android抽屉布局DrawerLayout的简单使用

 更新时间:2021年06月17日 17:05:23   作者:二木成林  
这篇文章主要为大家详细介绍了Android抽屉布局DrawerLayout的简单使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android抽屉布局DrawerLayout的基本使用,供大家参考,具体内容如下

本次Demo的目录结构如下(图中红框即为所用文件):

创建好一个普通的Android项目后,在activity_main.xml中放入如下代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
 
    <!-- 主界面的布局,必须放在抽屉的前面 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
 
    <!-- 抽屉的内容 -->
    <TextView
        android:id="@+id/left_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff"
        android:layout_gravity="left"
        android:text="这是一个抽屉布局"
        />
 
</android.support.v4.widget.DrawerLayout>

然后活动类MainActivity.java内容如下:

package com.example.administrator.myapplication;
 
import android.os.Bundle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
 
public class MainActivity extends AppCompatActivity {
    private DrawerLayout drawerLayout;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获取抽屉布局控件
        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true);// 显示导航按钮
            actionBar.setHomeAsUpIndicator(R.drawable.index_white);// 修改默认图标
        }
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:// HomeAsUp按钮的id永远是android.R.id.home
                drawerLayout.openDrawer(GravityCompat.START);// 显示抽屉布局
                break;
            default:
                break;
        }
        return true;
    }
}

图片是提前放进去的,任何图片都可以。

运行如下:

其实也可以不用上面MainActivity.java中设置的代码,但是没人知道该程序是否有抽屉布局,即把MainActivity.java改为如下(即为一个普通的Activity类):

package com.example.administrator.myapplication;
 
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

运行如下,可以通过拖拉来显示布局,但是用户可能就不清楚这里是否有抽屉布局了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android:“万能”Activity重构篇

    Android:“万能”Activity重构篇

    本文主要介绍了mvp以及每一层,以及使用mvp来重构“万能”Activity,其实每一层需要注意的东西还有很多,比如model层是最难写的一层。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Android TextView实现点击显示全文与隐藏功能(附源码)

    Android TextView实现点击显示全文与隐藏功能(附源码)

    TextView用法很多,用到的地方更是普遍,所以学好TextView的使用很重要很重要很重要。下面这篇文章主要介绍了Android中TextView实现显示全文与隐藏功能的相关资料,文中给出了详细的示例代码和源码下载,需要的朋友可以参考下。
    2017-03-03
  • android 进度条组件ProgressBar

    android 进度条组件ProgressBar

    本文主要介绍android 进度条组件ProgressBar,这里整理进度条的实现代码和效果图,帮助大家学习理解Android 进度条的知识,有兴趣的小伙伴可以参考下
    2016-09-09
  • 利用Kotlin如何实现Android开发中的Parcelable详解

    利用Kotlin如何实现Android开发中的Parcelable详解

    这篇文章主要给大家介绍了关于利用Kotlin如何实现Android开发中的Parcelable的相关资料,并且给大家介绍了关于Kotlin使用parcelable出现:BadParcelableException: Parcelable protocol requires a Parcelable.Creator...问题的解决方法,需要的朋友可以参考下。
    2017-12-12
  • Android开发EditText禁止输入监听及InputFilter字符过滤

    Android开发EditText禁止输入监听及InputFilter字符过滤

    这篇文章主要为大家介绍了Android开发EditText禁止输入监听及InputFilter字符过滤示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android 保存WebView中的图片示例

    Android 保存WebView中的图片示例

    本篇文章主要介绍了Android 保存WebView中的图片示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Android 判断是开发debug模式,还是发布release模式的方法

    Android 判断是开发debug模式,还是发布release模式的方法

    下面小编就为大家带来一篇Android 判断是开发debug模式,还是发布release模式的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Flutter 实现下拉刷新上拉加载的示例代码

    Flutter 实现下拉刷新上拉加载的示例代码

    这篇文章主要介绍了Flutter 实现下拉刷新上拉加载的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Android应用自动跳转到应用市场详情页面的方法

    Android应用自动跳转到应用市场详情页面的方法

    最近在工作中遇到一个需求,推广部门要求实现应用自动跳转到应用市场详情页面,通过查找一些资料,实现出来了,觉得有必要整理下方便以后或者有需要的朋友们参考借鉴,下面来一起详细看看Android应用自动跳转到应用市场详情页面的方法吧。
    2016-12-12
  • android根据分辨率自动调整字体大小的实例代码

    android根据分辨率自动调整字体大小的实例代码

    android根据分辨率自动调整字体大小的实例代码,需要的朋友可以参考一下
    2013-06-06

最新评论