android Gmail 应用程序,例如图标中带有字母的列表视图

android Gmail app like List View with a letter in icon

我正在寻找类似 gmail 的 android 应用程序中的电子邮件列表的解决方案,我想要一个可以滑动删除的列表,并有标题和一个带有标题第一个字符的图标。在我的应用程序中,这将用于在应用程序中显示数据库 table 中的一些名称,因此在 gmail 应用程序中会有这个图标,其中包含名称的第一个字母,然后是名称旁边的名称。滑动将提供删除选项。

这里是截图供参考(我会只使用标题,左边的图标和时间!)

更新

现在我打算按照 EUGEN 的建议使用 TextDrawable。现在我遇到了这个问题,库的示例文件夹中提供的示例适配器使用 listarry 作为数据集

private List<ListData> mDataList = Arrays.asList(
        new ListData("Iron Man"),
        new ListData("Captain America"),
        new ListData("James Bond"),
        new ListData("Harry Potter"),
        new ListData("Sherlock Holmes"),
        new ListData("Black Widow"),
        new ListData("Hawk Eye"),
        new ListData("Iron Man"),
        new ListData("Guava"),
        new ListData("Tomato"),
        new ListData("Pineapple"),
        new ListData("Strawberry"),
        new ListData("Watermelon"),
        new ListData("Pears"),
        new ListData("Kiwi"),
        new ListData("Plums")
);

我必须使用字符串数组形式的数据。我是列表数组和适配器的新手,所以我需要帮助!

对于滑动删除列表视图,您可以使用 link https://github.com/romannurik/android-swipetodismiss,对于图标,具有相同宽度和高度的 TextView 就足够了。

我用的是TextDrawable library。关键是:当你有用户的照片时,你显示照片,否则显示字母。所以只有一个 ImageView 比在它上面多一个 TextView 更容易。

虽然我用了TextDrawable library as suggested by @Eugen Pechanec , I would like to add another librray that I found called RoundedLetterView

RoundedLetterView like the one in Android 5.0 Contacts app

我通过将 TextView 的背景设置为我已经在 color.xml 中定义的任何随机颜色来做到这一点。如果我在适配器中找到图像,则会显示图像,如果我没有找到图像,则将随机颜色设置为文本视图背景,其中包含大文本。如果您需要圆形椭圆形等任何形状,请在可绘制对象中创建 xml。使用 xml 作为 TextView 的背景。希望对你有帮助。

查看这些 Material-colored 字母图标,pre-generated 作为 512x512 PNG 文件:

https://github.com/eladnava/material-letter-icons