摘要:
具体来说,可以定义一个基类(例如 struct),然后通过嵌入(embedding)基类的方式在子类中实现继承。同时,可以使用接口来定义类的行为。 举个例子,假设需要定义一个动物(Animal)作为基类,其中有一个Say方法表示动物的叫声: type Animal struct { NumLegs 阅读全文
2023年4月18日
2022年12月29日
摘要:
save/savelayer Canvas里面牵扯两种坐标系:Canvas自己的坐标系、绘图坐标系,当Canvas画布被创建时,Canvas的坐标系就被创建了,并且此坐标系是固定不变的,就是(0,0)到Canvas的宽高,而我们使用Canvas的平移,旋转等方法时实际上操作的是绘图坐标系 Canva 阅读全文
摘要:
TypedArray val typedArray: TypedArray = context.obtainStyledAttributes(attrs, R.styleable.EdgeTransparentView) position = typedArray.getInt(R.styleabl 阅读全文
摘要:
setStyle setStrokeCap - 笔头的样式 setStrokeJoin - 线交角的样式 setShader(Shader shader) - 用来处理颜色渐变 Shader的模式 LinearGradient - 线性渐变 SweepGradient - 圆形扫面渐变 Radial 阅读全文
2022年12月28日
摘要:
package com.focus.mimilive.widget.imggroup import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import a 阅读全文
2022年11月10日
摘要:
问题重现 简单讲,就是以Android 12为目标平台的App,如果使用到了AlarmManager来设置定时任务,并且设置的是精准的闹钟(使用了setAlarmClock()、setExact()、setExactAndAllowWhileIdle()这几种方法),则需要确保SCHEDULE_EX 阅读全文