如何使用调色板

时间:2016-06-23 11:21:19

标签: java android palette

这是我使用时发生的事情

我想从调色板对象中获得赞美文字颜色

我尝试了这个,但它并没有像预期的那样成功 。palette.getVibrantSwatch()getTitleTextColor();

请帮我展示使用调色板获取文本颜色的正确方法

enter image description here

1 个答案:

答案 0 :(得分:0)

从提供的资源生成颜色需要一些时间,这就是您应该异步使用Pallet的原因。

Bitmap bm = BitmapFactory.decodeResource(getResources(),VersionData.getOsDrawable(osVersion));

    Palette.PaletteAsyncListener listener = new Palette.PaletteAsyncListener() {
        public void onGenerated(Palette palette) {
            Log.d("Palette", "Palette has been generated");
            TextView tv1 = (TextView) findViewById(R.id.tv1);
            TextView tv2 = (TextView) findViewById(R.id.tv2);

// use initialized Pallet here                  tv1.setBackgroundColor(palette.getVibrantColor(0x000000));

tv2.setBackgroundColor(palette.getVibrantColor(0x000000处));

            //Noticed the Expanded white doesn't show everywhere, use Palette to fix this
            collapsingToolbar.setExpandedTitleColor(palette.getVibrantColor(0x000000));
        }
    };

    // Start this Async, because it takes some time to generate
    Palette.from(bm).generate(listener);

有一个出色的Material Design示例项目 https://github.com/mwolfson/android-historian