首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏阿策小和尚

    补充:Android LayerDrawable 沉浸式状态栏

    今天和尚我再稍稍补充一点,Java/Kotlin 代码中设置 LayerDrawable 方式实现沉浸式状态栏。 LayerDrawable 为图层叠加,对应 xml 中的 layer-list 层次化方式展示 Drawable,和尚我借用这种方式实现与以前一样的含有图片的沉浸式状态栏样式。 shapeDrawableBg.getPaint().setStyle(Paint.Style.FILL) shapeDrawableBg.getPaint().setColor(-0x444445) 设置 LayerDrawable resources.getDrawable(R.drawable.icon_bg) 在 Toolbar 或其他布局位置设置背景 background; // 设置背景 toolbar.background = layerDrawable test_lay.background = layerDrawable ?

    81241发布于 2019-08-12
  • 来自专栏向治洪

    Android仿网易云音乐播放界面

    进行图片合成 LayerDrawable介绍   LayerDrawable也可包含一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面 LayerDrawable有点类似PhotoShop图层的概念。 layerDrawable = new LayerDrawable(drawables); int musicPicMargin = (int) ((DisplayUtil.SCALE_DISC_SIZE 其实这种也很好做,可以使用LayerDrawable加属性动画来实现。  思路如下:   1. 给LayerDrawable设置两个图层,第一图层是前一个背景,第二图层是准备显示的背景。   2. 先把准备显示的背景透明度设为0,因此完全透明,此时只显示前一个背景图。   3.

    5.9K100发布于 2018-02-06
  • 来自专栏向治洪

    Android仿网易云音乐播放界面

    进行图片合成 LayerDrawable介绍   LayerDrawable也可包含一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面 LayerDrawable有点类似PhotoShop图层的概念。 我们在分析唱片布局的时候发现原View包含两个ImageView,估计是一个用来显示唱盘,一个用来显示专辑图片。 ? 使用LayerDrawable生成复合图片代码: private Drawable getDiscDrawable(int musicPicRes) { int discSize = (int) layerDrawable = new LayerDrawable(drawables); int musicPicMargin = (int) ((DisplayUtil.SCALE_DISC_SIZE 其实这种也很好做,可以使用LayerDrawable加属性动画来实现。  思路如下:   1. 给LayerDrawable设置两个图层,第一图层是前一个背景,第二图层是准备显示的背景。   2.

    3.6K60发布于 2018-01-26
  • 来自专栏达达前端

    Android开发工程师文集-1 小时学会各种Drawable

    ic_launcher" android:tileMode="mirror"//平铺 android:antialias="true"//消除锯齿 android:dither="true"> </bitmap> LayerDrawable public void On(View v){ iv.setImageLevel( //int ); } TransitionDrawable --- transi tion drawable 为LayerDrawable 的子类,只有两张图片的变化,没有多个图片,LayerDrawable可以有多个item,而transitiondrawable只有两个item。 iv.getDrawable(); drawable.setLevel(5000); //范围0-10000; DIY的Drawable 自己动手试试吧 梳理: BitmapDrawable, LayerDrawable

    43320发布于 2019-07-03
  • 来自专栏Android程序Shape使用总结!

    Android- SplashPage实现应用秒开-3步

    android:gravity="center"/> </item> </layer-list> 我们使用 layer-list 标签创建一个图层列表,实际就是一个 LayerDrawable android:windowBackground">@drawable/splash_screen</item> </style> </resources> 这里只需要将窗口背景设置为我们刚才定义的 LayerDrawable

    59830编辑于 2021-12-13
  • 来自专栏直播知识

    视频直播系统源码,图片叠加

    android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable         array[1] = new BitmapDrawable(bitmap2);         array[2] = new BitmapDrawable(bitmap3);         LayerDrawable la = new LayerDrawable(array);         // 其中第一个参数为层的索引号,后面的四个参数分别为left、top、right和bottom         la.setLayerInset

    2.2K20发布于 2020-10-27
  • 来自专栏腾讯Bugly的专栏

    Android动态布局入门及NinePatchChunk解密

    LayerDrawable:对应Seekbar android:progressDrawable 通常,我们用XML定义一个进度条的ProgressDrawable是这样的, <! LayerDrawable layerDrawable = (LayerDrawable) getProgressDrawable();//背景 layerDrawable.setDrawableByLayerId ClipDrawable clipProgressDrawable = new ClipDrawable(progressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); layerDrawable.setDrawableByLayerId clipSecondaryProgressDrawable = new ClipDrawable(secondaryProgressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); layerDrawable.setDrawableByLayerId

    67110编辑于 2023-04-02
  • 来自专栏QQ音乐技术团队的专栏

    Android动态布局入门及NinePatchChunk解密

    LayerDrawable:对应Seekbar android:progressDrawable 通常,我们用XML定义一个进度条的ProgressDrawable是这样的, <! LayerDrawable layerDrawable = (LayerDrawable) getProgressDrawable(); //背景 layerDrawable.setDrawableByLayerId ClipDrawable clipProgressDrawable = new ClipDrawable(progressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); layerDrawable.setDrawableByLayerId clipSecondaryProgressDrawable = new ClipDrawable(secondaryProgressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); layerDrawable.setDrawableByLayerId

    2.9K81发布于 2018-01-31
  • 来自专栏青蛙要fly的专栏

    Android技能树 — Drawable小结

    LayerDrawable ? 它是一种层次化的Drawable集合,通过不同的Drawable放置在不同的层上面达到了叠加后的效果。并且下面的item覆盖上面的item。 ? 我们可以使用LayerDrawable来实现,只需要把中间的放大镜和文字变成一个图片,比如 ? 然后背景为: <?xml version="1.0" encoding="utf-8"? 最后使用LayerDrawable: <?xml version="1.0" encoding="utf-8"?

    76210发布于 2018-08-29
  • 来自专栏向治洪

    android drawable

    它的直接子类有 BitmapDrawable, ClipDrawable, ColorDrawable, DrawableContainer, GradientDrawable,  InsetDrawable, LayerDrawable Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求 LayerDrawable     A Drawable that manages an array of other Drawables. 

    1.3K100发布于 2018-02-01
  • 来自专栏编程之路

    羊皮书APP(Android版)开发系列(十五)Android 循环滚动,自动轮播广告展示

    android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.LayerDrawable R.styleable.BannerLayoutStyle_defaultImage,defaultImage); array.recycle(); //绘制未选中状态图形 LayerDrawable unSelectedLayerDrawable; LayerDrawable selectedLayerDrawable; GradientDrawable unSelectedGradientDrawable unSelectedGradientDrawable.setSize(unSelectedIndicatorWidth, unSelectedIndicatorHeight); unSelectedLayerDrawable = new LayerDrawable selectedGradientDrawable.setSize(selectedIndicatorWidth, selectedIndicatorHeight); selectedLayerDrawable = new LayerDrawable

    1.5K50发布于 2018-08-30
  • 来自专栏向治洪

    android的Drawable详解

    Drawable分类 Drawable种类繁多,比如,BitmapDrawable,ShapeDrwable,LayerDrawable,StateListDrawable等,这里就不一一列举了,下面列出一些常用的做一下简单的介绍 method stub ((AnimationDrawable)mDrawable).start(); } }, 1000); LayerDrawable layerDrawable顾名思义就是处于不同的层的,管理一组drawable,每个drawable都处于不同的层,当它们被绘制的时候,按照顺序全部都绘制到画布上。

    1.2K50发布于 2018-02-05
  • 来自专栏小工匠聊架构

    Android各种各样的Drawable-更新中

    BitmapDrawable、 NinePatchDrawable、InsetDrawable、ClipDrawable、ScaleDrawable、RotateDrawable、AnimationDrawable、LayerDrawable LayerDrawable A Drawable that manages an array of other Drawables. These are drawn in array order. ---- LayerDrawable LayerDrawable 管理一组drawable,每个drawable都处于不同的层,当它们被绘制的时候,按照顺序全部都绘制到画布上。 在xml文件中使用layer-list作为根节点来定义LayerDrawable,通过item子节点定义每一层的drawable,layer-list没有属性节点,只包含item子节点。 ? ? ---- TransitionDrawable TransitionDrawable 是LayerDrawable的子类,不过它只负责管理两层drawable,并且提供了一个透明度变化的动画,可以控制从一层

    1.5K30发布于 2021-08-16
  • 来自专栏达达前端

    3个一小时-学会Widget小组件开发,学会各种Drawable,学会SQLite

    ic_launcher" android:tileMode="mirror"//平铺 android:antialias="true"//消除锯齿 android:dither="true"> </bitmap> LayerDrawable public void On(View v){ iv.setImageLevel( //int ); } TransitionDrawable --- transi tion drawable 为LayerDrawable 的子类,只有两张图片的变化,没有多个图片,LayerDrawable可以有多个item,而transitiondrawable只有两个item。 drawable=iv.getDrawable(); drawable.setLevel(5000); //范围0-10000; DIY的Drawable 自己动手试试吧 梳理: BitmapDrawable, LayerDrawable

    71830编辑于 2022-04-29
  • 来自专栏分享达人秀

    非常普遍的ProgressBar进度条

    其中android:progressDrawable用于指定进度条的轨道的绘制形式,该属性可指 定为一个LayerDrawable对象的引用。

    2.5K50发布于 2018-02-05
  • 来自专栏移动开发之家

    利用百度地图实现支付宝“到位”功能(地图模式)

    //聚合背景修改为我们要的效果 private LayerDrawable makeClusterBackground() { //读取聚合图标 InputStream inputStream RoundRectShape(mOuterCircle, mInsertCircle, null)); outline.getPaint().setColor(0x00000000); LayerDrawable background = new LayerDrawable(new Drawable[]{outline, mColoredCircleBackground}); //修改padding

    1.7K10发布于 2018-08-22
  • 来自专栏Android先生

    Android资源那些事儿

    字符串资源 color 颜色资源 dimen 尺寸资源 array 数组资源 style 样式资源 theme 主题资源 2、drawable资源 图片资源 StateListDrawable资源 LayerDrawable LayerDrawable资源 LayerDrawable顾名思义,就表现得和图层差不多。可以在根元素layer-list中定义多个drawable对象,并且像帧布局那样将各个对象堆叠起来。

    1.2K20发布于 2018-08-07
  • 来自专栏Frank909

    ClipDrawable让开发变得更简单

    文章开头有说过Drawable,Drawable只是一个抽象类,它有许多子类,常见的有bitmapdrawable、LayerDrawable、LevelListDrawable和ClipDrawable new LevelListDrawable(); } else if (name.equals("layer-list")) { drawable = new LayerDrawable

    1.2K20发布于 2019-01-14
  • 来自专栏青蛙要fly的专栏

    android 中 vector 的用法 ,坑 ,怎么替代,关于这几方面的一些看法

    It also works with InsetDrawable, LayerDrawable, LevelListDrawable and RotateDrawable containers. 在android官方推文中找到这句话 , 意味着,我们要在普通控件上使用Vector,就必须依附于StateListDrawable,InsetDrawable,LayerDrawable,LevelListDrawable

    1.6K30编辑于 2023-06-09
  • 来自专栏韩曙亮的移动开发专栏

    【Android应用开发】EasyDialog 源码解析

    android.graphics.Color; import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.LayerDrawable inside-drawable-xml-used-as-background */ public EasyDialog setBackgroundColor(int color) { backgroundColor = color; LayerDrawable drawableTriangle = (LayerDrawable) ivTriangle .getBackground(); GradientDrawable shapeTriangle

    1.4K20编辑于 2023-03-27
领券