摘要:
//两个数组用于装子视图private val childArray = mutableListOf<ArrayList<Int>>() val seChildArray = ArrayList<Int>() for (i in 0..5){ seChildArray.add(i) } childA 阅读全文
摘要:
一:效果图 一次只能点击一个标签,当一个标签不是红色(未被选中时才可以被点击),当选中另一个时, 前一个被选中的就会恢复为未被选中 GitHub地址:https://github.com/luofangli/Custom_Bottom_tableBar 中: package com.example. 阅读全文
摘要:
如图所示,文本的内容安排,文本有一条基准线(baseline)为x轴,向下的方向上为y轴,所以在基准线 下方的为正值,在基准线上方的为负值在基准线距离文本矩形区域顶部距离为top值, 距离文本矩形区域下面的底部距离为bottom值, 在文本本身上,基准线距离文本本身的顶部为ascent(),底部为d 阅读全文
摘要:
1:效果 一运行起来,红色是下载的部分,蓝色是为下载部分,下载完之后先缩成一个椭圆,在缩成一个圆 GitHub地址:https://github.com/luofangli/MyDrawProgress 详细代码: <?xml version="1.0" encoding="utf-8"?><and 阅读全文
摘要:
在画路径drawPath时,画笔里面的style不能为Fill,否则画不出 阅读全文
摘要:
一:效果 上面是一个大嘴在吃一个球,下面是三个球分别一大一小的变化 GitHub地址:https://github.com/luofangli/Custom_Animation 代码: <?xml version="1.0" encoding="utf-8"?><androidx.constrain 阅读全文
摘要:
动画只需要连续绘制图片就可以形成动画,那么就可以改变参数,使参数连续变化就可以形成动画了 以移动圆为例: //画大圆的paintprivate val paintBigCircle: Paint by lazy { Paint().apply { style = Paint.Style.FILL c 阅读全文
摘要:
一:对画布进行操作canvas?.rotate() 画布的旋转canvas?.scale() 画布的拉伸canvas?.translate()画布的移动二:画布操作 canvas?.save() 保存先前的操作.................. 在画布里面进行各种动画的实现canvas?.rest 阅读全文
摘要:
效果图: GitHub地址:https://github.com/luofangli/Draw_SlideUnclock 全部代码: 1: <?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.Constrai 阅读全文
摘要:
一:继承与View class MyView: View {}二:实现构造方法 //代码实现,当使用代码创建该视图时调用该方法constructor(context: Context) : super(context) {}//xml实现,当使用xml方式创建该视图是调用该方法constructor 阅读全文