Palette常用于什么场合:
通常情况下ViewPager、xxxTabStrip、Fragment三个好基友是一起出现的。当我们的Pager切换时伴随着Fragment的变化,而Fragment里的内容一般是不同的,其视觉效果也是不同的,所以我们可以用Palette来去提取Fragment中的主色调,设置给title或者textView等;总之,它就是用来从Bitmap中提取颜色的,然后把颜色设置给title、content等等。
package com.myapplication.plattedemo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.graphics.Palette;
import android.widget.TextView;
/**
* 获取图片的颜色
* 加上依赖的包,或者在build.gradle中追加:
* compile 'com.android.support:palette-v7:22.2.1'
* 1,先将需要取色的图片先以bitmap格式引入进来
* 2.Palette调用取色方法,取色结果将在监听里面返回
*/
public class MainActivity extends AppCompatActivity {
private Bitmap bitmap;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
textView = (TextView) findViewById(R.id.mytextView);
//1,引入图片
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.rainbow);
//
Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
//得到一个调色板,可以获取颜色
Palette.Swatch swatch = palette.getLightVibrantSwatch();//获取亮色
if (null != swatch) {
textView.setTextColor(swatch.getRgb());
}
}
});
}
}
大神的详解点击这里。http://blog.csdn.net/bbld_/article/details/41439715