android - 具有所选列表项的指示符的双窗格视图

时间:2012-10-03 16:22:12

标签: android android-layout android-ui

在我的应用程序中,我有一个双窗格布局,左侧是列表。我想在所选列表行的右侧添加一个指示符,如以下示例所示:

Gmail example Reader example

我认为它是一个内置函数,但我找不到任何文档。有谁知道我们如何实现这个?

3 个答案:

答案 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

Indicator 9-patch image