更改视图的背景以匹配专辑封面的颜色

时间:2014-09-04 18:52:06

标签: android background-color albumart

您好我正在开发一款适用于Android的音乐播放器,我希望能帮助您将背景颜色与播放歌曲的专辑艺术相媲美,就像索尼Walkman一样。所以有人可以说明如何完成或者在至少让我按照应该如何完成。

我最近刚开始使用Android,所以对我很轻松,抱歉英语不好

1 个答案:

答案 0 :(得分:2)

您可以使用v7调色板支持库。它包括 Palette 类,可让您从图像中提取突出的颜色。

https://developer.android.com/reference/android/support/v7/graphics/Palette.html

示例

enter image description here

<强>的build.gradle

compile 'com.android.support:palette-v7:23.4.0'

活动或片段

public void updatePlayerBar(Bitmap bitmap) {
    Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
        public void onGenerated(Palette palette) {
            Palette.Swatch swatch = palette.getVibrantSwatch();
            if (swatch == null) swatch = palette.getMutedSwatch(); // Sometimes vibrant swatch is not available
            if (swatch != null) {
                // Set the background color of the player bar based on the swatch color
                mContent.setBackgroundColor(swatch.getRgb());

                // Update the track's title with the proper title text color
                mTitle.setTextColor(swatch.getTitleTextColor());

                // Update the artist name with the proper body text color
                mArtist.setTextColor(swatch.getBodyTextColor());
            }
        }
    });
}