• android29之UI控件的抽屉式实现方法之一(DrawerLayout和NavigationView)


    添加依赖

    implementation 'com.google.android.material:material:1.2.0-alpha06'


    在Layout中创建两个Xml布局文件,header.xml和menu.xml
    header.xml文件
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:background="#F89215"
          />
    </LinearLayout>
    
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <group android:checkableBehavior="single">
            <item android:title="首页" />
            <item android:title="收藏" />
            <item android:title="设置" />
            <item android:title="关于" />
            <item android:title="分享" />
        </group>
    
    </menu>
    
    activity_main.xml文件
    <?xml version="1.0" encoding="utf-8"?>
    <androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:background="#5EA7F3"
        >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <com.google.android.material.navigation.NavigationView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:layout_gravity="start"
            app:headerLayout="@layout/nav_header"
            app:menu="@layout/nav_menu"
            />
    </androidx.drawerlayout.widget.DrawerLayout>
    
    运行结果如下

  • 相关阅读:
    MPP架构简介
    redis5.0 集群卡槽混乱解决方案
    python 批量删除文件扩展名
    【组原】微命令、微指令、微操作和微程序
    从零部署.NetCoreAPI到Linux 下
    gnom(ubuntu) 随机更换桌面壁纸软件(脚本)
    vscode 更换背景图片的 python 脚本
    打开 vscode 随机更换背景
    WebRTC M91 DShow Camera Jabra PanaCast 50 绿屏问题修复
    ES学习笔记
  • 原文地址:https://www.cnblogs.com/reyirfw/p/12728405.html
Copyright © 2020-2023  润新知