复合Drawable作为RecyclerView中的动作

时间:2016-01-10 05:36:13

标签: android android-layout android-drawable android-recyclerview

我有一个RecyclerView,它实现了一个字符串项的线性列表。 我希望列表项在每个项的右侧有一个辅助操作“共享”。我用XML创建了像Google建议的复合drawable,但是如何访问drawable并在其上设置OnClickListener()?我最好只有两个元素吗?

我的列表项布局中的复合Drawable TextView:

<TextView
    android:id="@+id/item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/text_margin"
    android:textSize="17sp"
    android:layout_marginTop="1dp"
    android:background="#101010"
    android:drawableRight="@drawable/ic_share_white_24dp"
    android:textColor="#fff"
    android:textAppearance="?attr/textAppearanceListItem" />

1 个答案:

答案 0 :(得分:0)

得到了一些很好的提示,但对于我的项目,我发现有更好的管理有两个元素。查看@ Vishnuvathsan对此StackOverflow post的答案,了解复合绘图。

<TextView
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/text_margin"
    android:textSize="17sp"
    android:layout_marginTop="1dp"
    android:background="#101010"
    android:textColor="#fff"
    android:textAppearance="?attr/textAppearanceListItem" />
<ImageView
    android:id="@+id/shareBtn"
    android:contentDescription="@string/action_share"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="6dp"
    android:src="@drawable/ic_share_white_24dp"
    android:background="#101010"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />