我有一个具有折叠工具栏布局的android应用程序的详细视图。我试图动态设置工具栏的颜色,根据传入的drawable的主要颜色。动态获取可绘制的主要颜色来设置工具栏颜色
我知道这是可能的新材料指南,但我找不到任何文档它。
我有一个具有折叠工具栏布局的android应用程序的详细视图。我试图动态设置工具栏的颜色,根据传入的drawable的主要颜色。动态获取可绘制的主要颜色来设置工具栏颜色
我知道这是可能的新材料指南,但我找不到任何文档它。
好了,我开始用什么阿卡莎规定,但生成最新的版本已经过时了。所以我最终做了以下。
// 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);
要做到这一点,添加以下依赖于你的gradle这个文件
dependencies {
compile 'com.android.support:palette-v7:21.0.0'
}
然后你就可以使用生成的方法,这无论是采取只是一个位图对象或位图的整数,指定颜色的数量调色板应该生成。
默认情况下,此方法将尝试从提供的位图生成16种颜色。
generate(Bitmap)
generate(Bitmap, int)
你可以在这里阅读更多 - enter link description here