Palette类可以分析一张图片,取出这张图片的特征色,然后为View中的文字,背景等设置颜色,让整个界面在色调上看上去更和谐更美观。
使用Palette,首先要导入sdk\extras\android\support\v7\palette
然后在你的工程中引入Palette工程
接下来就可以使用了
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.gg1);
Palette palette=Palette.from(bitmap).generate();
//暗鲜艳色
int darkVibrantColor=palette.getDarkVibrantColor(android.R.color.holo_blue_dark);
//暗柔和的颜色
int darkMutedColor=palette.getDarkMutedColor(android.R.color.holo_orange_dark);
//亮鲜艳色(淡色)
int lightVibrantColor=palette.getLightVibrantColor(android.R.color.holo_blue_bright);
//亮柔和色(淡色)
int lightMutedColor=palette.getLightMutedColor(android.R.color.holo_orange_light);
//柔和色
int mutedColor=palette.getMutedColor(android.R.color.holo_red_dark);
//鲜艳色
int vibrantColor=palette.getVibrantColor(android.R.color.holo_red_light);
final TextView tv_0 = (TextView) findViewById(R.id.tv_0);
final TextView tv_1 = (TextView) findViewById(R.id.tv_1);
final TextView tv_2 = (TextView) findViewById(R.id.tv_2);
tv_0.setBackgroundColor(darkVibrantColor);
tv_0.setTextColor(lightVibrantColor);
tv_1.setBackgroundColor(darkMutedColor);
tv_1.setTextColor(lightMutedColor);
tv_2.setBackgroundColor(mutedColor);
tv_2.setTextColor(vibrantColor);
}
}
效果图:
Palette还有个异步的方法:
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
// TODO Auto-generated method stub
}
});
PS:不同版本的Palette可能用法不同,我用的是最新的Android Support Library 22.2
- 大小: 9.5 KB
- 大小: 31.6 KB
- 大小: 47.4 KB
分享到:
相关推荐
在Android 5.X系列,谷歌引入了一种全新的设计语言——Material Design,这是一次重大更新,旨在提升用户体验,提供更加现代、直观且富有表现力的界面。本篇将重点解析Material Design中的几个关键新特性:主题...
在计算机图形学中,调色板(Palette)是一种在8位色彩或更低色彩深度系统中管理颜色的方法。在这些系统中,每个像素只能表示256种不同的颜色,因此需要一个调色板来映射这些索引到实际的颜色。本教程主要针对VC++...
调色板展示android.support.v7.graphics.Palette示例应用程序。 解决大位图等问题,并使用库进行系统栏着色。截屏执照 Copyright 2014 Zhang HaiLicensed under the Apache License, Version 2.0 (the "License");...
在C#中,我们可以使用`ColorPalette`类来操作调色板,例如通过`Bitmap.Palette`属性获取或设置位图的调色板。 C#中处理调色板的方法包括: 1. 创建自定义调色板:可以使用`Color[]`数组创建一个`ColorPalette`,...
可以使用 palette.getVibrantSwatch()、palette.getDarkVibrantSwatch()、palette.getLightVibrantSwatch()、palette.getMutedSwatch()、palette.getDarkMutedSwatch() 和 palette.getLightMutedSwatch() 等方法获取...
在编程领域,调色板(Palette)是一种非常重要的工具,特别是在图形用户界面(GUI)设计中,它用于管理和控制颜色的显示。在Delphi这样的集成开发环境中,开发者可以创建自定义的调色板来增强应用程序的视觉效果。...
调色板是一个`TPalette`对象,可以通过`Palette.Colors`属性访问其颜色条目。 3. **修改调色板**:你可以遍历调色板的每一个颜色条目,改变它们的RGB值。比如,要改变第n个颜色条目的颜色,可以这样做: ```...
Android进阶-Android 5.X 的新特性,UI设计、Material Design主题、Palette、视图与阴影、Tinting和Clipping、列表与卡片、Activity过渡动画、Material Design动画效果、Toolbar和Notification。
- 调色板(Palette):在计算机图形学中,调色板是指一个有限的颜色集,用于限制图像显示时可用的颜色数量。在24位真彩色环境下,调色板可以包含最多2^24种颜色。但在8位或更低位深度的系统中,调色板通常限制为256...
android-support-v7-palette 工具库
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() { @Override public void onGenerated(Palette palette) { // 在这里处理生成后的Palette } }); ``` - **性能优化**: 为了提高性能,...
5. **自定义分析**: 如果默认的颜色分类不能满足需求,可以使用` Palette.Builder` 提供的` setTintList()` 或 ` setTarget()` 方法来自定义颜色分析策略。 6. **优化性能**: 考虑到性能,可以使用` ...
调色板(Palette)是Windows系统用来管理显示器颜色的一种机制,特别是在早期的8位和16位彩色显示模式中。它包含了一组颜色条目,每个条目由RGB(红、绿、蓝)值定义。当应用程序启动时,它可以请求系统分配一个调色...
color-palette, 用于获取站点调色板的ruby 脚本 调色板用于获取站点调色板的ruby 脚本输出:颜色和频率的table===运行脚本:ruby color.rb'"'===说明:调色板考虑十六进制。rgb 。rgba和英文单词颜色( 例如。 红色,...
《Android Support Library v7 AppCompat与Palette的深度解析》 Android Support Library v7 AppCompat库是Google为了兼容早期Android版本而推出的一个重要组件,它使得开发者可以将最新的Android设计元素和功能...
ColorPalette loadedPalette = JsonUtility.FromJson(File.ReadAllText("palette.json")); ``` 7. **扩展功能**:还可以添加搜索和过滤功能,让用户根据色调、饱和度或明亮度查找特定颜色。或者创建自定义颜色的...
在VC++环境中,调色板(Palette)是一个重要的图形用户界面(GUI)工具,它用于管理屏幕上的颜色显示。调色板允许程序控制在特定设备上显示的颜色集合,尤其是在有限色彩的显示设备上,如旧式的CRT显示器或者某些低...
在图像处理领域,调色板(Palette)是一个至关重要的概念,尤其在早期的位图图像格式中,如GIF和PCX。调色板是一种颜色索引机制,它定义了一组有限的颜色,这些颜色用于表示图像中的每一个像素。在"tsb.rar_调色板...
调色板(Palette)在图形用户界面中扮演着关键角色,它管理并控制屏幕上显示的颜色。在火山视窗API中,调色板允许开发者定义和选择应用使用的颜色集合,确保颜色在不同设备间的一致性,尤其是在那些色彩支持有限的...