1、需要的jar包
1、android-support-v4.jar
2、android-support-v7-palette.jar
注意:都要变成奶瓶
2、定义
使用 Palette 的API,能够让我们从 Bitmap 中获取对应的色调,修改当前的主题色调。
在 Android 的版本发展中,UI 越来越成为 Google 的发展重心。这次的 Android 5.X 创新地
使用 Palette 来提取颜色,从而让主题能够动态适应当前页面的色调,做到整个 App 颜色基调
和谐统一。
3、android中定义的色调
Android 内置了几种提取色调的种类
1、Vibrant(充满活力的)
2、Vibrant dark(充满活力的黑)
3、Vibrant light(充满活力的亮)
4、Muted(柔和的)
5、Muted dark(柔和的黑)
6、Muted light(柔和的亮)
4、Demo
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.demo);
<span style="white-space:pre"> </span>// 创建Palette 对象
Palette.generateAsync(bitmap,newPalette.PaletteAsyncListener() {
@Override
publicvoid onGenerated(Palette palette) {
//通过 Palette 来获取对应的色调
Palette.Swatchvibrant =palette.getDarkVibrantSwatch();
//将颜色设置给相应的组件
getActionBar().setBackgroundDrawable(newColorDrawable(vibrant.getRgb()));
//或者 toolbar.setBackground(newColorDrawable(vibrant.getRgb()));
Windowwindow = getWindow();
window.setStatusBarColor(vibrant.getRgb());
}
<span style="white-space:pre"> </span>});
}
5、提取颜色的方法
通过以下方法来提取不同色调的颜色。
palette.getVibrantSwatch ();
palette.getDarkVibrantSwatch ();
palette.getLightVibrantSwatch ();
palette.getMutedSwatch ();
palette.getDarkMutedSwatch ();
palette.getLightMutedSwatch ();