android - Android画布绘制顺序
问题描述
我想在我的圆形可绘制对象周围画一个边框。
我有这个代码:
public void draw(Canvas canvas) {
myDrawable.draw(canvas);
canvas.drawArc(toHighlightBounds, 0F, 360F, /* useCenter= */ false, borderPaint);
}
如果我更改行顺序,输出怎么会相似?
public void draw(Canvas canvas) {
canvas.drawArc(toHighlightBounds, 0F, 360F, /* useCenter= */ false, borderPaint);
myDrawable.draw(canvas);
}
顺序不应该决定z轴吗?什么画在另一个之上?
解决方案
我不确定,但我认为这与变量的工作方式有关。
例如,假设我创建了一个包含可绘制对象的数据类。
然后我将drawable设置为图像视图
myImageView.setImageDrawable(myClassObject.drawable)
有趣的部分来了,如果我现在将对象的可绘制对象更改为其他内容,它也会在图像视图中更改。
我不确定这是否是它,如果它是一个简单的解释,但这是我的猜测
推荐阅读
- c# - 会话未结束时停止页面刷新 ASP.NET MVC C#
- java - 在将 pdf 文件复制到另一个文件时添加注释
- angular - Angular 库如何使用 .tgz 文件打包依赖项
- jquery - 多个选择字段将ajax数据作为字符串传递
- c# - 使用多语言应用工具包加载翻译提供程序时出错
- sql - 在 NHibernate HQL 中使用 CASE WHEN 语句
- c# - Angular zip 文件下载问题 AWS
- android - Android Hawk 对象类型不持久
- unit-testing - vue js jest.spyOn挂载的函数调用在类组件的单元测试中不起作用
- c# - 如何将不同类型的 COM 对象转换为相同的类或接口?