MaterialNavigationView-Android 项目教程
1. 项目的目录结构及介绍
MaterialNavigationView-Android 项目的目录结构如下:
MaterialNavigationView-Android/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── shreyaspatil/
│ │ │ │ └── material/
│ │ │ │ └── navigationview/
│ │ │ │ └── demo/
│ │ │ │ ├── MainActivity.kt
│ │ │ │ └── ...
│ │ │ ├── res/
│ │ │ │ ├── layout/
│ │ │ │ │ ├── activity_main.xml
│ │ │ │ │ └── ...
│ │ │ │ ├── menu/
│ │ │ │ │ ├── navigation_menu.xml
│ │ │ │ │ └── ...
│ │ │ │ └── ...
│ │ │ └── AndroidManifest.xml
│ │ └── ...
│ └── ...
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
目录结构介绍
app/
: 包含应用程序的主要代码和资源文件。build.gradle
: 应用程序模块的构建脚本。src/
: 源代码目录。main/
: 主源代码目录。java/
: Java 或 Kotlin 代码目录。com/shreyaspatil/material/navigationview/demo/
: 示例应用程序的主要代码。MainActivity.kt
: 主活动文件。
res/
: 资源文件目录。layout/
: 布局文件目录。activity_main.xml
: 主活动布局文件。
menu/
: 菜单资源文件目录。navigation_menu.xml
: 导航菜单资源文件。
AndroidManifest.xml
: 应用程序清单文件。
gradle/
: Gradle 包装器文件目录。wrapper/
: Gradle 包装器文件。gradle-wrapper.jar
: Gradle 包装器 JAR 文件。gradle-wrapper.properties
: Gradle 包装器属性文件。
gradle.properties
: Gradle 属性文件。gradlew
: Gradle 包装器脚本(Unix)。gradlew.bat
: Gradle 包装器脚本(Windows)。settings.gradle
: Gradle 设置文件。README.md
: 项目自述文件。
2. 项目的启动文件介绍
项目的启动文件是 MainActivity.kt
,位于 app/src/main/java/com/shreyaspatil/material/navigationview/demo/
目录下。
MainActivity.kt
package com.shreyaspatil.material.navigationview.demo
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.shreyaspatil.material.navigationview.MaterialNavigationView
class MainActivity : AppCompatActivity() {
private lateinit var navView: MaterialNavigationView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
navView = findViewById(R.id.nav_view)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.action_default -> {
navView.setItemStyle(MaterialNavigationView.ITEM_STYLE_DEFAULT)
}
R.id.action_round_rect -> {
navView.setItemStyle(MaterialNavigationView.ITEM_STYLE_ROUND_RECTANGLE)
}
R.id.action_round_right -> {
navView.setItemStyle(MaterialNavigationView.ITEM_STYLE_ROUND_RIGHT)
}