3

您好,我正在开发一个适用于 android 的音乐播放器,我需要帮助以使背景颜色与播放歌曲的专辑封面相同,就像 Sony Walkman 一样。所以有人可以展示一下如何做到这一点,或者至少让我知道在应该如何做的轨道上。

我最近开始使用 Android,所以请放轻松,抱歉英语不好

4

1 回答 1

3

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

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

例子

在此处输入图像描述

构建.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());
            }
        }
    });
}
于 2016-10-15T15:35:14.847 回答