当前位置: 首页 > news >正文

商务型企业网站建设seo综合查询怎么进入网站

商务型企业网站建设,seo综合查询怎么进入网站,高端大气上档次网站,软件开发与项目管理就业前景Palette 动态获取图片的某种颜色。作用请看下面动图 没有添加笔记 ,直接查看 原文:https://www.jianshu.com/p/dfa9aac6143d 我写过一篇博客介绍了常用Material Design控件的使用。http://www.jianshu.com/p/776cc6329fff 本想把大部分的Material Desig…

Palette 动态获取图片的某种颜色。作用请看下面动图


没有添加笔记 ,直接查看 原文:https://www.jianshu.com/p/dfa9aac6143d

我写过一篇博客介绍了常用Material Design控件的使用。
http://www.jianshu.com/p/776cc6329fff
本想把大部分的Material Design的知识点写到一个博客中,结果无奈东西太多只好分开写。这篇博客介绍的是Palette调色板的使用。
源码地址:https://github.com/AxeChen/MaterialDesignSimple

示例代码(由于提交中不慎修改了其他module的代码,所以用红框标出了)

1、Palette的基本理解

Palette是调色版的意思,用它能获取到Bitmap中一些活跃的颜色,其他控件通过设置这些颜色来优化界面色彩搭配。
效果图:
没有使用Palette调色时。Toolbar和TabLayout等控件是蓝色,和图片很明显不协调。

没使用Palette调色效果图

使用Palette调色后。Toolbar、TabLayout状态栏等会根据图片展示比较搭配的颜色。
注意:Palette并不只适用于我写的示例,Palette应用的情况很多,我这里只用作效果展示。

使用Palette调色效果图

2、Palette的基本使用

Palette使用起来非常简单,没有比较复杂的步骤。

2.1、导入依赖

    compile 'com.android.support:palette-v7:23.4.0'

2.2、主要方法

调用Palette.from() 方法将bitmap传入,然后在回调中获取颜色值。

Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {@Overridepublic void onGenerated(Palette palette) {}});

通过Palette 可以获取到一些颜色值。

 // 获取到柔和的深色的颜色(可传默认值)palette.getDarkMutedColor(Color.BLUE);// 获取到活跃的深色的颜色(可传默认值)palette.getDarkVibrantColor(Color.BLUE);// 获取到柔和的明亮的颜色(可传默认值)palette.getLightMutedColor(Color.BLUE);// 获取到活跃的明亮的颜色(可传默认值)palette.getLightVibrantColor(Color.BLUE);// 获取图片中最活跃的颜色(也可以说整个图片出现最多的颜色)(可传默认值)palette.getVibrantColor(Color.BLUE);// 获取图片中一个最柔和的颜色(可传默认值)palette.getMutedColor(Color.BLUE);
// ...  这里省略其他的方法。

以上我都是通过源码中的注释来获取这些方法的基本含义的。Palette的方法并不多,大部分都是返回颜色的方法,这里不再多介绍。
以上方法的效果图:

效果图

2.3、示例代码

示例代码中的TabLayout和Viewpager的联用,我就不介绍了。如果不知道TabLayout和Viewpager的联用可以看我的另一篇写Material Design控件的博客:http://www.jianshu.com/p/776cc6329fff
唯一注意的地方就是使用了不同的获取颜色的方法。
palette.getVibrantSwatch():获取颜色样本。在这里做了非空判断,如果获取的颜色样本为空就从所有的样本中获取一个样本。
vibrant.getRgb():从样本中获取颜色的RGB值。获取到RGB值之后可以直接给其他控件使用这个值,或者稍微调整这个值的颜色再使用。

Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {@Overridepublic void onGenerated(Palette palette) {Palette.Swatch vibrant = palette.getVibrantSwatch();if (vibrant == null) {for (Palette.Swatch swatch : palette.getSwatches()) {vibrant = swatch;break;}}// 这样获取的颜色可以进行改变。int rbg = vibrant.getRgb();// ... 省略一些无关紧要的代码tabLayout.setBackgroundColor(rbg);toolbar.setBackgroundColor(rbg);if (Build.VERSION.SDK_INT > 21) {Window window = getWindow();//状态栏改变颜色。int color = changeColor(rbg);window.setStatusBarColor(color);}}});// 对获取到的RGB颜色进行修改。(涉及到位运算,我也不是很懂这块)private int changeColor(int rgb) {int red = rgb >> 16 & 0xFF;int green = rgb >> 8 & 0xFF;int blue = rgb & 0xFF;red = (int) Math.floor(red * (1 - 0.2));green = (int) Math.floor(green * (1 - 0.2));blue = (int) Math.floor(blue * (1 - 0.2));return Color.rgb(red, green, blue);}

3、最后

源码地址:https://github.com/AxeChen/MaterialDesignSimple



作者:AxeChen
链接:https://www.jianshu.com/p/dfa9aac6143d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.khdw.cn/news/62032.html

相关文章:

  • 和县网站制作推广文章的推广渠道
  • 泰安网站开发网络营销的发展历程
  • 有了代刷网的源码怎么做网站个人怎么创建网站
  • 郑州网站建设找汉狮郑州网站推广公司电话
  • 学建网站要多久网页设计友情链接怎么做
  • 个人做购物网站犯法吗iis搭建网站
  • 阿里邮箱 网站开发百度识图搜索引擎
  • 网站建设陆金手指科捷14网络销售公司怎么运作
  • wordpress亚马逊cdn宁波seo如何做推广平台
  • html下载网站模板百度网站排名搜行者seo
  • 深圳建设网站首页国际新闻消息
  • 写小说的网站自己做封面网站seo服务
  • 自己做了一个网站营销方式和手段
  • java+做网站后台万秀服务不错的seo推广
  • 百度推广开户多少钱一个月seo关键词优化报价
  • 江苏营销型网站公司怎么自己注册网站平台了
  • wordpress做成论坛北京seo推广
  • 网站建设的分工内容seo合作
  • 网站建设三秒原则广告策划案优秀案例
  • 网站建设花多少钱百度推广网页版
  • 深圳住房和城乡建设部网站短视频运营方案策划书
  • 南昌网站建设那家好哪家公司做seo
  • 网站建设规划方案ppt模板网页优化方法
  • 国外网站推广平台有哪些公司上海今天发生的重大新闻
  • 重生主角做视频网站的小说中国网站建设公司
  • 内蒙古网站开发口碑营销方案
  • 建设通破解版seo优化网站推广专员招聘
  • 网站降权查下软文网站推广
  • 真人性做爰网站优化师是做什么的
  • 有源代码怎么做网站张家口网站seo