我想知道它们是如何生成的,以及每次打开应用程序或存储(缓存)时是否生成它们.
它只是一个画布(以编程方式)或他们使用XML?像这样的东西,然后以编程方式添加字母:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<size android:width="1px" android:height="1dp"/>
<solid android:color="#FFFFF5EE/>
</shape>
Run Code Online (Sandbox Code Playgroud) 所以我一直在阅读如何创建自动生成的联系人背景颜色.显然它是基于联系人中键的hashCode().我已经看到它说电子邮件被用作密钥,但这没有任何意义,因为并非所有的联系人都有与之关联的电子邮件,而那些没有完全相同的颜色.
最终,我希望能够获得联系人卡片中使用的精确颜色.这样,我在我的应用程序中的图标具有与单击它时使用的相同的背景颜色,并使用ACTION_VIEW打开联系人卡片.
那么,只是想知道我需要使用什么作为关键来为每个联系人生成由android联系人应用程序生成的相同颜色?谢谢.
PS.这是我现在用于颜色味觉的十六进制代码.如果有人也可以说明这一点的准确性,我会非常感激.谢谢.
<array name="letter_tile_colors">
<item>#f16364</item>
<item>#f58559</item>
<item>#f9a43e</item>
<item>#e4c62e</item>
<item>#67bf74</item>
<item>#59a2be</item>
<item>#2093cd</item>
<item>#ad62a7</item>
</array>
Run Code Online (Sandbox Code Playgroud)
编辑:有些人一直在说它类似于另一个答案,Android棒棒糖接触颜色
答案的问题是它不完整.它解释了如何以相同的方式生成颜色,但我不只是尝试进行随机颜色生成.我希望获得默认联系人应用程序用于该联系人的确切颜色.