美文网首页
两个颜色取中间值 Bitmap中提取突出颜色

两个颜色取中间值 Bitmap中提取突出颜色

作者: 默风 | 来源:发表于2021-08-09 16:51 被阅读0次

    两个颜色取中间值

    ArgbEvaluator.evaluate(float fraction,ObjectstartValue,ObjectendValue);

         用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色

    https://developer.android.com/reference/android/animation/ArgbEvaluator.html

    Bitmap中提取突出颜色

    Palette

         5.0加入的可以提取一个Bitmap中突出颜色的类

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

    // Palette的部分 

    Palette.generateAsync(bitmap,newPalette.PaletteAsyncListener() {

    /**

             * 提取完之后的回调方法

             */

    @Override

    publicvoidonGenerated(Palette palette) {

                Palette.Swatch vibrant = palette.getVibrantSwatch();  

    /* 界面颜色UI统一性处理,看起来更Material一些 */

                mPagerSlidingTabStrip.setBackgroundColor(vibrant.getRgb());  

                mPagerSlidingTabStrip.setTextColor(vibrant.getTitleTextColor());  

    // 其中状态栏、游标、底部导航栏的颜色需要加深一下,也可以不加,具体情况在代码之后说明 

                mPagerSlidingTabStrip.setIndicatorColor(colorBurn(vibrant.getRgb()));  

                mToolbar.setBackgroundColor(vibrant.getRgb());  

    if(android.os.Build.VERSION.SDK_INT >=21) {

                    Window window = getWindow();  

    // 很明显,这两货是新API才有的。 

                    window.setStatusBarColor(colorBurn(vibrant.getRgb()));  

                    window.setNavigationBarColor(colorBurn(vibrant.getRgb()));  

                }  

            }  

        });  

    相关文章

      网友评论

          本文标题:两个颜色取中间值 Bitmap中提取突出颜色

          本文链接:https://www.haomeiwen.com/subject/hfgzvltx.html