Android开发 GradientDrawable详解

 2023-09-11 阅读 15 评论 0

摘要:Android开发 GradientDrawable详解 前言   GradientDrawable类似与Xml布局里的shape,常用在一些自己封装的对话框控件的背景或者其他View中,优势是不需要你在带着xml布局文件一起封包.. 画线 GradientDrawable gradientDrawable = new GradientDrawable();gradientDraw
Android开发 GradientDrawable详解

前言

  GradientDrawable类似与Xml布局里的shape,常用在一些自己封装的对话框控件的背景或者其他View中,优势是不需要你在带着xml布局文件一起封包..

画线

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.LINE);gradientDrawable.setStroke(5, Color.YELLOW);//线的宽度 与 线的颜色mTextView.setBackground(gradientDrawable);

效果图:

画虚线

        mTextView.setLayerType(View.LAYER_TYPE_SOFTWARE,null); //要显示虚线一定要关闭硬件加速GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.LINE);gradientDrawable.setStroke(1, Color.BLACK, 10, 10);//第一个参数为线的宽度  第二个参数是线的颜色 第三个参数是虚线段的长度 第四个参数是虚线段之间的间距长度mTextView.setBackground(gradientDrawable);

也可以在布局里关闭指定view的硬件加速

android:layerType="software"

android 展开收起列表?效果图:

画圆

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.OVAL);gradientDrawable.setColor(Color.BLUE);gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

效果图:

画圆环

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.OVAL);gradientDrawable.setColor(Color.BLUE);gradientDrawable.setStroke(10,Color.YELLOW);gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

效果图:

ios android 开发、

圆角矩形

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColor(Color.RED);gradientDrawable.setStroke(10,Color.BLUE);gradientDrawable.setCornerRadius(10);gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

效果图:

虚线矩形

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.LINEAR_GRADIENT);gradientDrawable.setStroke(1, Color.GREEN,30, 30);mTextView.setBackground(gradientDrawable);

效果图:

颜色渐变

线性渐变

        int[] colors = {Color.YELLOW, Color.GREEN, Color.BLUE};GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColors(colors); //添加颜色组gradientDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);//设置线性渐变gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

android studio linearlayout。效果图:

改变线性渐变方向

        int[] colors = {Color.YELLOW, Color.GREEN, Color.BLUE};GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColors(colors); //添加颜色组gradientDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);//设置线性渐变gradientDrawable.setOrientation(GradientDrawable.Orientation.RIGHT_LEFT);//设置渐变方向gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

效果图:

半径渐变

        int[] colors = {Color.YELLOW, Color.GREEN, Color.BLUE};GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColors(colors); //添加颜色组gradientDrawable.setGradientType(GradientDrawable.RADIAL_GRADIENT);//设置半径渐变gradientDrawable.setGradientRadius(50);//渐变的半径值gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

效果图:

android gridlayout、

扫描渐变

        int[] colors = {Color.YELLOW, Color.GREEN, Color.BLUE};GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColors(colors); //添加颜色组gradientDrawable.setGradientType(GradientDrawable.SWEEP_GRADIENT);//设置扫描渐变gradientDrawable.setGradientCenter(0.5f,0.5f);//渐变中心点gradientDrawable.setSize(50,50);mTextView.setBackground(gradientDrawable);

防抖

gradientDrawable.setDither(true);

可以让渐变的时候颜色阶梯降低,变得更柔和

 

透明度

        GradientDrawable gradientDrawable = new GradientDrawable();gradientDrawable.setShape(GradientDrawable.RECTANGLE);gradientDrawable.setColor(Color.YELLOW); gradientDrawable.setAlpha(70);//设置透明度mTextView.setBackground(gradientDrawable);

Android sdk? 

posted on 2019-07-06 14:21 观心静 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/guanxinjing/p/11142599.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/43720.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息