作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到 Whatsapp Android 有一个功能,CollapsingToolbar
获取用户图像中最突出的颜色并将其设置为工具栏颜色,我尝试遍历图像并获取最突出的颜色但是转的太慢了,whatsApp一眨眼就搞定了,有没有做过的人教教我怎么做?最后,我如何在默认情况下将我的 CollapsingToolbar
设置为在刚打开 Activity 时折叠,我注意到默认情况下它会展开但我希望它折叠然后如果用户愿意,他们可以通过滚动展开它就可以了,提前致谢。
最佳答案
我不能代表 WhatsApp 使用的策略,但支持库确实提供了 'com.android.support:palette-v7:23.1.1'
可以为您做到这一点。
Palette.generate(Bitmap toGetColorsFrom)
Palette.generate(Bitmap toGetColorsFrom, int maximumPaletteSize)
Palette.generateAsync(Bitmap toGetColorsFrom, PaletteAsyncListener listener)
Palette.generateAsync(Bitmap toGetColorsFrom, int maximumPaletteSize, PaletteAsyncListener listener)
异步方法需要 Palette.PaletteAsyncListener
才能通知您结果。
一旦您从这些方法中的任何一个接收到 Palette
对象,您就可以像这样设置工具栏背景颜色:
Palette palette = Palette.generate(myBitmap);
Palette.Swatch swatch = palette.getVibrantSwatch();
toolbar.setBackgroundColor(swatch.getRgb());
请注意,getVibrantSwatch()
是获取一组颜色的一种方法。您还可以使用:
Palette.getVibrantSwatch()
Palette.getDarkVibrantSwatch()
Palette.getLightVibrantSwatch()
Palette.getMutedSwatch()
Palette.getDarkMutedSwatch()
Palette.getLightMutedSwatch()
关于android - 如何在图像Android中获得最突出的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33972083/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!