Android 联系人列表
Android contacts list
我正在为我的应用制作一种通讯录,我想做如下图所示的事情:
联系人姓名将显示在可滚动列表中,但我希望左侧的字母跟随姓名,直到出现下一个字母。我不太确定该怎么做,我想在相应的 xml 布局文件中有这样的结构:
<LinearLayout>
<ListView>
<ImageView />
<ListView />
</ListView>
</LinearLayout>
这样做正确吗?
您需要做的是添加一个 OnScrollListener
(listView.setOnScrollListener
) 到您的列表视图。然后实现方法
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
and/or
public void onScrollStateChanged(AbsListView view, int scrollState)
对于第一个,您可以使用大量信息来管理您想要的内容。比如你想让字母对应列表视图中的第一个元素,你得到第一个元素的第一个字母和draw it
.
@Husayn Hakeem:供您参考,您的要求是 Lollipop 的联系人。 ListView的特殊类型(PinnedHeaderListView)with pinned section headers for Android.So please check ListViewVariants Demo 希望对你有帮助。
如果你想用 RecyclerView
实现它,你可以看看这个 project。您可以使用简单的文本或图像自定义左侧图钉。
我们的想法是使用一个 CoordinatorLayout
,您在其中放置了图钉。为这个引脚分配一个行为你可以得到你想要的结果。
我正在为我的应用制作一种通讯录,我想做如下图所示的事情:
联系人姓名将显示在可滚动列表中,但我希望左侧的字母跟随姓名,直到出现下一个字母。我不太确定该怎么做,我想在相应的 xml 布局文件中有这样的结构:
<LinearLayout>
<ListView>
<ImageView />
<ListView />
</ListView>
</LinearLayout>
这样做正确吗?
您需要做的是添加一个 OnScrollListener
(listView.setOnScrollListener
) 到您的列表视图。然后实现方法
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
and/or
public void onScrollStateChanged(AbsListView view, int scrollState)
对于第一个,您可以使用大量信息来管理您想要的内容。比如你想让字母对应列表视图中的第一个元素,你得到第一个元素的第一个字母和draw it
.
@Husayn Hakeem:供您参考,您的要求是 Lollipop 的联系人。 ListView的特殊类型(PinnedHeaderListView)with pinned section headers for Android.So please check ListViewVariants Demo 希望对你有帮助。
如果你想用 RecyclerView
实现它,你可以看看这个 project。您可以使用简单的文本或图像自定义左侧图钉。
我们的想法是使用一个 CoordinatorLayout
,您在其中放置了图钉。为这个引脚分配一个行为你可以得到你想要的结果。