概述
完善 Miwok 应用的用户体验,向列表项布局中添加音频图标,添加触摸反馈的效果,向上按钮等。
目标
-
向列表项布局中添加音频图标
-
点击 类别标签时的 点按反馈
-
点击列表项时的 点按反馈
-
Android 中的导航模式
-
词汇列表页向上按钮
实现步骤
添加音频图片
在列表项的右侧添加一个 播放音频图标,以表明该列表项是可点击播放的。
更改列表项布局前后的对比如下:
首先从材料设计网站下载 播放箭头图标 white 36dp 版本请注意向应用中添加所有密度版本的图标(从 mdpi 到 xxxhdpi)。
从列表项更改前后的对比图中我们可以看出 音频图片与列表项 右边 的文本部分右对齐,因此 采用 相对布局 RelativeLayout 来控制位置是 一个不错的选择,所以 将 列表项右边部分的 LineanerLayout 嵌套到 一个 RelativeLayout 当中,添加一个 ImageView
视图用于显示 音频图标,并更改部分属性:
类别视图按下状态
触摸反馈在屏幕上用户与 UI 元素互动的接触点为用户提供了即时外观确认。 你在 Android 中开发的应用一定要具有触摸反馈。这样可以让你的应用 看起来响应速度很快,即时尚未发生任何其他行为。
自从在 Lollipop 中推出材料设计后,当你与 UI 元素互动的时候, 都会出现圆形涟漪动画效果。
在更早版本的 Android 设备上,出现的是静态彩色按下状态。
在 Miwok 应用中,我们创建了自己的可点击视图——MainActivity 中的类别视图 以及类别 Activity 中的列表项。我们需要自己处理按下状态。
将试图设为 ?android:attr/selectableItemBackground
背景后, 该视图默认地将具有一个透明背景。当你触摸或按下该视图时,它将显示一个 按下状态(即圆形涟漪动画效果)。这是 Android 框架中定义的默认触摸反馈行为。
修改 Miwok 应用
请将 activity_main.xml 中的内容替换为下面的 XML。每个 TextView 都位于一个 FrameLayout 中,并具有背景颜色,请将 TextView 的背景颜色设为 ?android:attr/selectableItemBackground
。
这样,每个类别视图都能保留背景颜色,以及触摸反馈。 顺便提下,FrameLayout是一种 ViewGroup,通常包含 1 个子视图。
在 activity_numbers.xml 文件中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/tan_background"
android:orientation="vertical"