触摸之后,设置前景色,可以告诉用户确实单击了,增加用户体验。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/category_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:foreground="@drawable/selector_subtle"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/category_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/size_avatar_toolbar"
android:contentDescription="@string/category" />
<TextView
android:id="@+id/category_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:textAppearance="@style/Topeka.TextAppearance.CategoryItem"
android:padding="@dimen/spacing_double" />
</FrameLayout>
drawable: selector_subtle.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/selector_list" />
drawable-v21: selector_subtle.xml
点击的水波纹效果,
这样,touch事件触发的时候,就会有前景色了。
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/touch_effect">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
</shape>
</item>
</ripple>
参考:http://blog.youkuaiyun.com/jdsjlzx/article/details/13827993