首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    css3渐变:linear-gradient

    前言 之前的实践中我们了解并熟悉了background-size,以及backgroud-clip,今天我们学习并实践的是线性渐变linear-gradient....代码实现 实现思路很简单,利用线性渐变实现背景的黑色线条,通过位置控制线条的粗细。...发散思考 你之前的场景是如何实现的? 我之前的场景的话,也是类似的思路不过是利用的一个线性背景做x方向的重铺,然后中间也是用span标签做白色背景。 – 这种方案的缺点可能是什么?...不考虑兼容 可能的问题有以下几个方面吧:1 背景不是线性渐变可以实现的,还是需要背景图去做 ;2 如果文字有两行或者更多怎么实现 3 元素背景是透明的时候,span的背景会映射线条,如果也设置透明,会有透明效果叠加...这里建议给大家一种flex的布局方案也可以实现,布局更为常规,利用了flex弹性盒的原理,当然横线背景也是渐变,但span部分没有渐变也没有背景色覆盖。

    1.1K30

    Android带你解析ScrollView--仿QQ空间标题栏渐变

    参照fadingEdgeLength的效果图 android:fadingEdgeLength 设置边框渐变的长度 android:scrollX 以像素为单位设置水平方向滚动的的偏移值,在GridView...滚动监听暴露出来我们就该去设置标题栏随着ScrollView的滑动来改变标题栏的透明度实现渐变: 我们先看一下布局: 最外层是我们自定义的ScrollView,包裹着一张背景图片和一个ListView(ListView重写为不可以滑动),然后布局的上面有一个...image.png 然后我们需要获取图片的高度,并且设置滚动监听,随着滚动的距离来设置标题栏的颜色透明度和字体颜色的透明度 /** * 获取顶部图片高度后,设置滚动监听 */...,设置背景和字体颜色颜色透明度渐变 float scale = (float) y / height; float alpha = (255 * scale

    1.5K10

    Android-Xml绘图

    :left 左内间距 android:right 右内间距 android:top 上内间距 android:bottom 下内间距 gradient: 设置形状的渐变颜色,可以是线性渐变、辐射渐变、扫描性渐变...android:type 渐变的类型 linear 线性渐变,默认的渐变类型 radial 放射渐变,设置该项时,android:gradientRadius也必须设置 sweep...渐变的角度,线性渐变时才有效,必须是45的倍数,0表示从左到右,90表示从下到上 android:centerX 渐变中心的相对X坐标,放射渐变时才有效,在0.0到1.0之间,默认为0.5,表示在正中间...同时,使用ListView时也有些其他需要注意的地方,总结如下: android:listSelector设置的ListItem默认背景是透明的,不管你在selector里怎么设置都无法改变它的背景。...所以,如果想改ListItem的默认背景,只能通过第二种方式,在ListItem的布局layout里设置android:background。

    78810

    Android开发笔记(一百四十四)高仿支付宝的头部伸缩动画

    ,就像下面这个动图那样有淡入淡出的渐变动画: ?...这个渐变动画其实可分为两段: 1、导航栏从展开状态向上收缩时,头部的各控件要慢慢向背景色过渡,也就是淡入效果; 2、导航栏向上收缩到一半,顶部的工具栏要换成收缩状态下的工具栏布局,并且随着导航栏继续向上收缩...如果导航栏是从收缩状态向下展开,则此时相应的做上述渐变动画的取反效果,即: 1、导航栏从收缩状态向下展开时,头部的各控件要慢慢向背景色过渡,也就是淡入效果;同时展开导航栏的下部分布局,并且该布局上的各控件渐渐变得清晰...为了解决这个问题,我们可以采取类似遮罩的做法,即一开始先给导航栏罩上一层透明的视图,此时导航栏的画面就完全显示;然后随着导航栏的移动距离,计算当前位置下的遮罩透明度,比如该遮罩变得越来越不透明,看起来导航栏就像蒙上了一层面纱...反过来,也可以一开始给导航栏罩上一层不透明的视图,此时导航栏的控件是看不见的,然后随着距离的变化,遮罩变得越来越不透明,导航栏也会跟着变得越来越清晰了。

    1.2K10

    Android UI 设计技巧

    " android:text="TextView" /> 标签帮助你排除把一个布局插入到另一个布局时产生的多余的View Group.如,...你的被复用布局是一个垂直的线性布局,包含两个子视图,当它作为一个被复用的元素被插入到另一个垂直的线性布局时,结果就是一个垂直的LinearLayout里包含一个垂直的LinearLayout。...这个嵌套的布局并没有实际意义,而且会让UI性能变差。为了避免插入类似冗余的View Group,你可以使用标签标签作为可复用布局的根节点 (2)使用shapes 实现渐变效果。...表示从哪个角度开始, android:shape="rectangle"设置图形, 默认的也是长方形;  corners 表示是有半径; android:startColor="#FFFF0000"...设置背景的起始颜色, android:endColor="#80FF00FF"设置背景的最终色,背景在这两种颜色之间渐变。

    51430

    【Android 性能优化】布局渲染优化 ( 过渡绘制 | 背景设置产生的过度绘制 | Android 系统的渲染优化 | 自定义布局渲染优化 )

    文章目录 一、 背景设置产生的过度绘制 二、 Android 系统的渲染优化 1. 透明组件数据传递 2. GPU 存储机制 3....Android 7.0 之后的优化机制 三、 自定义布局渲染优化 一、 背景设置产生的过度绘制 ---- 1....背景设置产生的过度绘制 : ① 组件背景 : 每个组件每设置一次背景 , 该组件的区域就会增加一层绘制 , 如 LinearLayout 线性布局设置背景颜色 , TextView 设置背景颜色 , 都会增加该组件区域内的过渡绘制...; ② 布局背景 : 布局文件总的背景 , 会增加一次 GPU 绘制 ; ③ 主题背景 : Activity 界面的主题背景 , 会增加一次 GPU 绘制 ; 2....透明组件数据传递 Android 系统做了如下自动优化操作 , 当组件的背景是透明的 , 那么 CPU 将该组件转为多维向量图片 ( 多边形和纹理组成 ) 时发现该组件是透明的 , 该组件的图像信息就不会传递给

    4.7K30

    绘制路径:Android 中矢量图渲染

    另一个需要考虑的问题是,你的资源是否具有重叠渲染。如果是这样的话,那么用半透明的主题颜色填充可能不会产生你想要的效果,但应用着色模式可能达到这种效果。 ?...具有重叠路径和半透明主题颜色的资源:比较着色和填充模式 请注意,你可以通过设置 android:theme 属性,在Activity/View 级别改变可绘制对象的主题,或者在代码中使用 ContextThemeWrapper...="1.0" android:color="#a242b4"/> 复制代码 平铺模式 线性和径向(不是扫描)渐变提供了平铺的概念——也就是说,如果渐变没有覆盖它填充/描边的整个路径...例如,这个 app 图标使用径向渐变来近似白色圆圈的投影,三角形下方的阴影使用线性渐变: ?...使用渐变近似阴影 同样,这离完全的支持阴影还有很长的路要走,因为只能绘制线性/径向/扫描渐变,而不能沿着任意路径绘制。

    3K20

    Android - 仿网易云音乐歌单详情页

    : 实现思路: 1、Activity设置自定义Shared Element切换动画 2、透明状态栏(透明Toolbar,使背景图上移) 3、Toolbar底部增加和背景一样的高斯模糊图,并上移图片(为了使背景图的底部作为...其中内容根布局不要设置android:fitsSystemWindows="true",这样会额外添加一个状态栏。...这里向大家推荐郭霖大神的一篇文章:Android状态栏微技巧,带你真正理解沉浸式模式,里面讲解了透明状态栏和沉浸式状态栏的渊源和有关设置用法。...监听图片显示,在显示之后将其设置为透明色,然后在滑动的时候渐变。...compile 'jp.wasabeef:glide-transformations:2.0.1' 4、上下滑动,渐变背景图透明度 由于NestedScrollView滚动监听只能在API23以上才能使用

    1.4K10

    Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    很方便得到一个矩形,圆,椭圆,圆环,很容易维护和修改 很方便实现圆角,渐变(线性渐变,径向渐变,扫描渐变) 代替图片作为 View 的背景,减少 apk 的体积(减少 apk 体积最明显最有效的步骤就是去掉图片...理论上能用 Drawable 的地方就用 Drawable 如果能够通过 shape 标签就能定义的几何图形就能满足需求,就不用图片来表示 渐变类型的背景也尽量使用 shape 来实现 不规则的,复杂的图形还是只能使用图片...shape 可以实现三种渐变,由子标签 gradient 实现   linear --> 线性渐变(水平,垂直,对角线三个渐变)   sweep --> 扫描渐变(只支持顺时针方向,其实颜色反过来就跟逆时针一样的了...线宽,布局文件中的View的高度需要比这个值大才可以绘制出来 android:dashWidth 每段破折线的长度 android:dashGap="5dp"每段破折线之间的间隔-->...--如果布局中没有设置View的大小,会size设置的大小为默认值--> <size android:width="20dp" android:height="20dp

    2.5K70

    《小白HTML5成长之路31》半透明背景的自定义弹窗是怎么用CSS布局的

    于是小白也准备自己通过css布局一个弹窗试试,一来以后肯定会用上这个功能,二来熟悉一下最近掌握的CSS+HTML布局。 说干就干,小白打开webStrom做起了弹窗的布局。...为了测试transition属性,小白还把确定按钮上面设置了一个鼠标移上去以后渐变的效果,做完以后就是这个样子: 看到布局好的弹窗小白心里非常高兴,突然他想到一个问题,这个弹窗背景还没设置半透明,于是赶紧往...layer上增加了opacity:0.5这个半透明属性,小白满怀信息的刷新了页面,当看到结果时小白发现背景和窗口都变成了半透明。...正好这时老朱从小白身边经过,随口跟小白说了一句:“小白,你是不是把窗口的父容器设置成半透明了?” “是啊!父容器背景是黑色,所以我把父容器设置成了半透明!”...不一会小白找到老朱,说道:“我改好了,现在我给dialog添加了一个layerbg容器作为背景层,然后把layer之前的背景色和透明度去掉,放到了新增加的背景层上面,背景层高和宽与layer一样所以这样就不会把

    2K100

    Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    很方便得到一个矩形,圆,椭圆,圆环,很容易维护和修改 很方便实现圆角,渐变(线性渐变,径向渐变,扫描渐变) 代替图片作为 View 的背景,减少 apk 的体积(减少 apk 体积最明显最有效的步骤就是去掉图片...理论上能用 Drawable 的地方就用 Drawable 如果能够通过 shape 标签就能定义的几何图形就能满足需求,就不用图片来表示 渐变类型的背景也尽量使用 shape 来实现 不规则的,复杂的图形还是只能使用图片...shape 可以实现三种渐变,由子标签 gradient 实现   linear --> 线性渐变(水平,垂直,对角线三个渐变)   sweep --> 扫描渐变(只支持顺时针方向,其实颜色反过来就跟逆时针一样的了...线宽,布局文件中的View的高度需要比这个值大才可以绘制出来 android:dashWidth 每段破折线的长度 android:dashGap="5dp"每段破折线之间的间隔-->...--如果布局中没有设置View的大小,会size设置的大小为默认值--> <size android:width="20dp" android:height="20dp

    1.7K00

    Android自定义View实现一个炫酷的时钟

    image.png 一、背景 1.1、控件效果 要实现的自定义控件效果大致如下,实现过程中用到了比较多的自定义View的API,觉得比较有代表性,就分享出来也当做学习总结 项目代码已上传github...,粒子透明度、半径、运动速度随机,运动超过一定距离或者时间消失 背景圆有一个从内到外的渐变色 计时模式下圆环有一个颜色渐变的顺时针rotate动画 整个背景圆颜色随着扇形角度变化而变化 指针颜色变化 数字变化是上下切换动画...,直接通过View的属性动画更好实现 image.png 二、 背景圆实现 2.1、实现粒子运动 使用AnimPoint.java表示运动粒子,它具有x,y坐标,半径,角度,运动速度,透明度等属性,...= 153; /** * 随机偏移角度 */ private double randomAnger = 0; } 粒子的初始位置位于随机角度的圆周,且一个粒子具有随机的半径...,具有个十百位还有时钟冒号的通过容器布局AnimNumberView组合布局的方式实现表示时间和个十百位数 四、项目源码 博客只是大致讲了实现思路,具体实现请阅读源码 https://github.com

    84630

    Android layout属性大全

    :alwaysDrawnWithCache定义子布局是否应用绘图的高速缓存            android:addStatesFromChildren定义布局是否应用子布局的背景            ...android:background本元素的背景         android:padding指定布局与子布局的间距         android:paddingLeft指定布局左边与子布局的间距...指定布局右边与子布局的间距与android:paddingRight相同         android:fadingEdgeLength 设置边框渐变的长度         android:minHeight...android:scrollbarSize设置滚动调大小         android:fadingEdge 设置拉滚动条时 ,边框渐变的放向         android:drawingCacheQuality...设置绘图时半透明质量         android:OverScrollMode滑动到边界时样式         android:alpha设置透明度         android:rotation

    2.2K90

    C001Android学习笔记-初级控件(一)

    的基本属性 概述: View是Android的基本视图,所有的空间和布局都是由View类直接或间接派生出来的,故所有View类的基本属性和方法是各控件和布局通用的; XML布局中常用的属性: id:指定当前视图的...():设置该视图的内边距; setVisibility():设置该视图的可见类型; Android视图分为两类: 布局:布局本质上是各容器,内部还可以再放子布局或者子控件; 控件:控件是一个单一的实体,...:往布局中添加一个视图; removeView:从布局中删除指定视图; removeAllViews:删除该布局下的所有视图; 2、线性布局LinearLayout LinearLayout是最常用的布局...(默认)表示水平布局,vertical表示垂直布局; gravity:指定布局内部视图与本线性布局的对齐方式; layout_weight:指定当前视图在宽或高占上级线性布局的权重; 代码中特有的方法:...setOrientation:设置线性布局的方向,LinearLayout.HORIZONTAL表示水平布局,LinearLayout.VERTICAL表示水平布局; setGravity:设置布局内部视图与本线性布局的对齐方式

    6610
    领券