android - 导航抽屉获取新布局
问题描述
我正在尝试制作我的导航抽屉,如material.io的描述中所示,即
我目前的实现来自更旧的规范,看起来很旧,特别是我错过了:
- 标题后的分隔符
- 覆盖所选项目等。
activity_main.xml
<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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" >
</com.google.android.material.navigation.NavigationView>
</androidx.drawerlayout.widget.DrawerLayout>
和nav_header_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/navheader"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.DayNight">
<ImageView
android:id="@+id/imageView"
android:layout_width="90dp"
android:layout_height="90dp"
android:contentDescription="TODO"
android:paddingTop="@dimen/activity_horizontal_margin"
android:src="@mipmap/ic_launcher_round" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="8dp"
android:text="@string/app_name"
android:layout_alignBottom="@id/navheader"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" />
</LinearLayout>
有人有布局文件来获得新外观吗?提前致谢。
解决方案
implementation 'com.google.android.material:material:1.2.0-alpha04'
样式.xml
确保您Theme.MaterialComponents
作为父母使用
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your ThemeAdapter here. -->
<item name="colorPrimary">@color/colorPrimaryred</item>
<item name="colorPrimaryDark">@color/colorPrimaryDarkred</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
我希望它有帮助...
推荐阅读
- sql - SQL。获取分组查询中的数据样本
- reactjs - 为什么 1 加载资源失败:服务器响应状态为 431(请求标头字段太大):3000/api/posts?:发生?
- laravel - 如何从laravel中的视频文件制作缩略图?
- python - while 循环没有终止并且程序没有接受下一个输入
- html - 将标题上的文本重新定位到页面 html css 代码的左侧
- python-3.x - 如何使用 .plot() 设置 figsize、标签和标题
- logging - SpringWS如何记录没有base64数据的MTOM消息
- python - 使用页面上下文从字符串渲染 jinja2 模板
- python - 从引导程序 4 IN DJANGO 创建滑块的模型
- elasticsearch - Elasticsearch NEST API 版本 7.7