Material Design是由Google推出的一种全新的UI设计语言,越来越多的APP开始采用这种设计风格。而Material Design Toolbar是Material Design中十分重要的一个组件,可以帮助APP提升用户体验和界面美感。
本文将为大家详细介绍Material Design Toolbar的使用方法和示例代码,并指导大家如何在开发过程中使用它来打造更加美观、高效的APP。
什么是Material Design Toolbar
Material Design Toolbar是一种顶部导航栏,常常被应用于Android应用的顶部布局。它可以承载应用主要的导航按钮、搜索框、图标等等,并且能够实时适应不同的屏幕大小。
其特性如下:
- 开启与关闭标准化
- 提供菜单和选项按钮
- 嵌入搜索框
- 为了保证屏幕可用空间而隐藏
- 提供通过 XML 和代码自定义的增强选项
使用Material Design Toolbar可以使APP的导航更加直观、简洁,同时也更加美观。
如何使用Material Design Toolbar
Material Design Toolbar需要在XML布局文件中进行设置,具体步骤如下:
步骤1. 向应用的build.gradle添加依赖关系
// 支持Material Design implementation 'com.google.android.material:material:1.1.0'
步骤2. 在XML布局中添加Toolbar
在布局中添加Toolbar,如下所示:
<androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
其中,id属性必须要定义为“toolbar”,以便在Activity中进行引用。
步骤3. 设置Toolbar
在Activity中,需要进行如下设置:
-- -------------------- ---- ------- ------ ----- ------------ ------- ----------------- - ------- ------- -------- -- --------- --------- --------- ---- --------------- ------------------- - ----------------------------------- --------------------------------------- ------- - --------------------------- -- --------- ----------------------------- -- -------------------- -- -------------- --------- --------- - ---------------------- ------ --------- -- ----- ------------------------------------------ --------------------------------------------------- - -- ---------------- --------- ------ ------- ------------------------------ ----- - ------ ------------------ - ---- ------------------ ---------------- ------ ----- - ------ ---------------------------------- - -
其中,代码中的setSupportActionBar()方法将Toolbar作为ActionBar使用,可以让Toolbar显示在应用的顶部,同时也有助于简化代码。
自定义Toolbar样式
可以通过XML或者Java代码的方式,对Toolbar进行自定义样式的设置,如下所示:
设置背景颜色
可以通过给Toolbar组件的background属性添加颜色值或者颜色资源来定制背景颜色。例如:
<androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="#3F51B5" />
修改标题
可以控制Toolbar的标题内容和属性,如下所示:
// 设置标题 toolbar.setTitle("Toolbar"); // 修改标题颜色和大小 toolbar.setTitleTextColor(Color.WHITE); toolbar.setTitleTextAppearance(context, R.style.Toolbar_TitleText);
添加导航按钮
可以添加一个左侧的导航按钮,以便用户可以在Toolbar中进行简单的操作。例如:
-- -------------------- ---- ------- -- ----------------- --------- --------- - ---------------------- ------ --------- -- ----- ------------------------------------------ -- --------- --------------------------------------------------- -- --------------- --------- ------ ------- ------------------------------ ----- - ------ ------------------ - ---- ------------------ ---------------- ------ ----- - ------ ---------------------------------- -
自定义菜单
可以通过XML或者Java代码的方式,向Toolbar中添加菜单和选项。例如:
-- -------------------- ---- ------- -- ------------------------ ----- ---------------------------------------------------------- ---------------------------------------------------- ----- --------------------- ------------------- ---------------------------------- ------------------------------- -- ----- ---------------------- -------------------- ---------------------------------- ---------------------------------------- -- -------
在Activity的onCreateOptionsMenu()方法中,调用inflate()方法将菜单资源加载到Toolbar菜单中,如下所示:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.toolbar_menu, menu); return true; }
在Activity的onOptionsItemSelected()方法中,监听Toolbar菜单中的选项被点击的事件,如下所示:
-- -------------------- ---- ------- --------- ------ ------- ------------------------------ ----- - ------ ------------------ - ---- --------- -- ----- ------ ----- ---- ---------- -- ------ ------ ----- -------- ------ ---------------------------------- - -
结论
Material Design Toolbar是一个重要的用户界面组件,可以使得APP的导航UI更加美观和高效。在使用Toolbar之前,需要先向应用的build.gradle添加依赖,然后在XML布局中添加Toolbar,最后在Activity中进行Toolbar的设置。对Toolbar的样式可以进行定制,例如设置背景颜色、修改标题、添加导航按钮等等。同时,也可以通过添加菜单和选项来提供更多的功能。
在开发APP时使用Material Design Toolbar,在提高用户体验的同时,也可以提高应用程序的品质和设计价值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66fa7a6244713626014ca63c