我正在为我的应用制作一种联系人书籍,我想做的事情如下图所示:
联系人名称将位于可滚动列表中,但我希望左侧的letetr遵循名称,直到显示下一个字母。我不太清楚如何做到这一点,我想在相应的xml布局文件中有这样的结构:
<LinearLayout>
<ListView>
<ImageView />
<ListView />
</ListView>
</LinearLayout>
这是正确的方法吗?
答案 0 :(得分:2)
@Husayn Hakeem:为了您的信息,您的要求是Lollipop的联系人。它的特殊类型的ListView(PinnedHeaderListView)带有固定的部分标题,适用于Android.So请查看ListViewVariants演示。我希望它能为您提供帮助。
答案 1 :(得分:1)
您需要做的是在列表视图中添加OnScrollListener
(listView.setOnScrollListener
)。然后实现方法
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
和/或
public void onScrollStateChanged(AbsListView view, int scrollState)
使用第一个,您可以使用大量信息来管理您想要的内容。例如,如果您希望字母对应于列表视图中的第一个元素,则获得第一个元素的第一个字母draw it
。
答案 2 :(得分:0)
如果您想使用RecyclerView
来实现它,可以查看此project。您可以使用简单文本或图像自定义左图钉。
我们的想法是使用您拥有该引脚的CoordinatorLayout
。为此引脚分配行为可以获得所需的结果。