标签: roundedbitmapdrawable

如何模仿Lollipop的联系人应用程序中的listView stickey项目?

背景

谷歌最近发布了一个新版本的Android,它有一个如下所示的联系人应用程序:

在此输入图像描述

问题

我需要模仿这种列表,但我不知道如何做得好.

这包括3个主要组成部分:

  1. stickey标题,只要顶级联系人的名字以此字母开头,就会保留.

  2. 圆形照片或圆圈+字母(适用于没有照片的联系人)

  3. PagerTitleStrip,在项目之间具有统一的间距,并尝试在屏幕上显示所有内容(或允许在需要时滚动).

我发现了什么

  1. 有很多第三方库,但它们处理stickey-headers,它们是listView本身项目的一部分.他们没有左边的标题,但是在项目的顶部.

    这里,左侧以与右侧不同的方式移动.它可以粘住,如果不需要粘贴(例如,因为该部分有一个项目),它会滚动.

  2. 我注意到对于圆形照片,我可以使用名为" RoundedBitmapDrawableFactory " 的新(?)类(它创建" RoundedBitmapDrawable ").这可能会让我很好地将照片变成圆形.但是,它不适用于字母(用于没有照片的联系人),但我想我可以将textView放在上面,并将背景设置为一种颜色.

    另外,我注意到为了使用"RoundedBitmapDrawable"(使其成为真正的圆形),我必须为它提供一个方形大小的位图.否则,它会有一个奇怪的形状.

  3. 我尝试使用" setTextSpacing "来最小化项目之间的空间,但它似乎不起作用.我也找不到任何方式来设置/自定义PagerTitleStrip就像在联系人应用程序上一样.

    我也试过使用" PagerTabStrip ",但它也没有帮助.

这个问题

您如何模仿Google实施此屏幕的方式?

进一步来说:

  1. 如何使左侧的行为与联系人应用程序类似?

  2. 这是实施圆形照片的最佳方式吗?在使用特殊drawable之前,我真的必须将位图裁剪成正方形吗?是否有使用哪种颜色的设计指南?是否有更正式的方式来使用圆形文本单元格?

  3. 你如何设置PagerTitleStrip的样式,使其具有与联系人应用程序相同的外观和感觉?


Github项目

编辑:对#1和#2,我做了Github上的一个项目,在这里.可悲的是,我也发现了一个重要的错误,所以我也在这里发布了它.

android listview android-5.0-lollipop pagertitlestrip roundedbitmapdrawable

17
推荐指数
1
解决办法
8654
查看次数

Android - 如何使用回收器视图创建这样的视图?

这就是我想要实现的
任何人都可以帮助我在卡片视图中使用此自定义布局吗?我正在显示项目列表,需要显示这样的项目。但无法理解如何实现这一点。

基本上,里面有一个回收站视图,里面有卡片。该卡的背景图像模糊。在它的顶部,有一个与此类似的视图。下面是我已经实现的文本视图。

但这件事是一个真正的混乱。无法理解如何做到这一点。

android textview android-cardview roundedbitmapdrawable android-recyclerview

2
推荐指数
1
解决办法
2529
查看次数