回答

0

好了,我开始用什么阿卡莎规定,但生成最新的版本已经过时了。所以我最终做了以下。

// Get reference to icon drawable 
Drawable iconDrawable = mPackageHelper.getAppIcon(mApp.getAppPackage()); 

Bitmap iconBitmap = ((BitmapDrawable) iconDrawable).getBitmap(); 

Palette iconPalette = Palette.from(iconBitmap).maximumColorCount(16).generate(); 

int primaryColorInt = iconPalette.getVibrantColor(0x000000); 

mToolbar.setBackgroundColor(primaryColorInt); 
collapsingToolbar.setBackgroundColor(primaryColorInt); 
1

要做到这一点,添加以下依赖于你的gradle这个文件

dependencies { 
    compile 'com.android.support:palette-v7:21.0.0' 
} 

然后你就可以使用生成的方法,这无论是采取只是一个位图对象或位图的整数,指定颜色的数量调色板应该生成。

默认情况下,此方法将尝试从提供的位图生成16种颜色。

generate(Bitmap) 
generate(Bitmap, int) 

你可以在这里阅读更多 - enter link description here