我有一個具有摺疊工具欄佈局的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