如何复制此UI模式:单击ListView项并在其下方展开?

时间:2013-01-06 20:26:03

标签: android listview expandablelistview

例如,在应用程序Plume中,当您单击ListView项目(推文)时,它会在其下方展开以显示一些操作(回复,链接,转发等)。如何在我的应用程序中复制此行为?我希望能够单击ListView项目,然后使用我自己的操作“展开”它(对于所选项目)。

屏幕截图示例:

enter image description here

这里使用的UI设计模式是什么?

2 个答案:

答案 0 :(得分:3)

你必须自己创造它。您应该创建一个扩展BaseExpandableListAdapter的自定义适配器,在getChildView中您应该将按钮放在水平LinearLayout TextViews并设置TextView&#39 ; s android:drawableTop包含您要使用的图标。

这种布局的一个非常简单的用法:

<LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/replyText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="@string/app_name"
            android:drawableTop="@drawable/ic_launcher" />
        <TextView
            android:id="@+id/someText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/app_name"
            android:layout_margin="5dp"
            android:drawableTop="@drawable/ic_launcher" />
        <TextView
            android:id="@+id/otherText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="@string/app_name"
            android:drawableTop="@drawable/ic_launcher" />

</LinearLayout>

您可以使用您的drawables和字符串。这只是一种方法。

答案 1 :(得分:1)

我不确定Plume是否使用此库,但我已成功使用Android - SlideExplandableListView来实现此功能。

https://github.com/tjerkw/Android-SlideExpandableListView