Android:Paletee颜色提取用法(调色板)

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

你可能感兴趣的:(android,paletee)