Layout: 用 Button 实现 Image & Text 的上下组合,点击时才会有整体的 ripple 水纹效果

用 ConstraintLayout 定义的 list item layout 中如果包含这样一个图片文本并排(上下或左右)的View,最佳实践是用 Button 实现 Image & Text 的组合,并且还得让 button 充满整个 list 的高度,这样点击时的水纹效果才能在体现在整个高度内。

必须定义 Button 的父视图(即 list item) fixed height,否则很难控制 button 内容的间距。

list_transaction_item.xml

<Button
    android:id="@+id/transaction_detail_btn"
    android:background="?android:attr/selectableItemBackground"
    android:drawableTop="@drawable/i_search_white"
    android:text="@string/details"/>