在我的应用程序中,我有一个双窗格布局,左侧是列表。我想在所选列表行的右侧添加一个指示符,如以下示例所示:
我认为它是一个内置函数,但我找不到任何文档。有谁知道我们如何实现这个?
答案 0 :(得分:0)
如果没有查看代码,我无法确定,但我很确定该指标不是内置功能。它可能是一个自定义视图,但很可能只是设置了一个复合drawable,如下所述: BitmapDrawable和此处:TextView
您正在寻找的方法是setCompoundDrawables()。
答案 1 :(得分:0)
在我的头顶,我只需添加与右侧背景颜色相匹配的指示器,使其看起来无缝。简单的解决方案。
答案 2 :(得分:0)
一种简单的方法是使用9-patch image。例如,如果要使用Theme.DeviceDefault.Light(API> 14)重现双窗格的效果,请使用Selector 将您的9补丁背景图像应用于LinearLayout项目的Selected状态
可选项目布局示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:background="@drawable/activable_indicator_background"
android:gravity="center_vertical"
android:paddingRight="20dp">
//eventually other items...
</LinearLayout>
Drawable/activable_indicator_background.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@drawable/indicator" />
<item android:drawable="@android:color/transparent" />
</selector>
Drawable/indicator.9.png
: