0
Q
绘图自定义视图
A
回答
1
如果没有特定的要求,以创建自定义视图,我建议干脆用绘制矢量:
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:pathData="M0 12a12 12 0 1 1 0 0.01z"
android:fillColor="#8ab88c"/>
<path
android:pathData="M5.25 12l4.5 4.5l9 -9"
android:strokeColor="#ffffff"
android:strokeWidth="2.5"/>
</vector>
第一<path>
元素使用椭圆弧命令画圆,而第二使用两个“lineto”命令来绘制检查。
这可以用在你想要的任何尺寸的ImageView
里,并且可以很好地缩放。
如果你必须实现自定义视图,我会使用相同的通用技术我onDraw()
里面执行:
@Override
protected void onDraw(Canvas canvas) {
rectF.set(getLeft(), getTop(), getRight(), getBottom());
canvas.drawOval(rectF, fillPaint);
float checkmarkWidth = getWidth() * 0.5626f;
float delta = checkmarkWidth/3.0f;
float initialX = (getWidth() - checkmarkWidth)/2.0f;
float initialY = getHeight()/2.0f;
path.reset();
path.moveTo(initialX, initialY);
path.rLineTo(delta, delta);
path.rLineTo(2 * delta, -2 * delta);
strokePaint.setStrokeWidth(getWidth()/9);
canvas.drawPath(path, strokePaint);
}
0
随着LayerDrawable你可以画绘项目,其中与最大的索引元素将在上面绘制的数组。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/circle" />
<item android:drawable="@drawable/check" />
</layer-list>
或者你可以使用一个VectorDrawable,右键单击文件夹绘制>新建>矢量资源>图标>搜索“复圆”。
相关问题
- 1. 自定义视图不绘制位图
- 2. Android:自定义列表视图绘图
- 3. 绘制自己的自定义视图
- 4. Android如何重绘自定义视图
- 5. 在ArrayAdapter中绘制自定义视图
- 6. 绘制自定义视图背景
- 7. Android如何绘制自定义视图
- 8. 自定义绘制视图不显示
- 9. 绘制多个自定义视图
- 10. 自定义视图不能绘制
- 11. 绘制自定义视图中的线
- 12. Android的自定义视图重绘
- 13. 自定义视图不会绘制在自定义视图组中
- 14. 将视图绘制到自定义EditText视图画布中
- 15. 剩余视图中绘制自定义视图
- 16. 如何使用自定义视图设置核心绘图图的绘图区
- 17. 在自定义图像视图上绘图
- 18. 自定义地图视图
- 19. 优化自定义绘图
- 20. 自定义NSWindow绘图
- 21. 绘制自定义图表
- 22. 图库视图顶部的自定义绘图(以及它的子视图)
- 23. 自定义列表视图自定义列表视图Android
- 24. 自定义组合框与绘制图像到datagrid视图
- 25. 在自定义图像视图周围绘制边框
- 26. 在大尺寸自定义视图中快速绘图
- 27. 何处在自定义视图中设置绘图的边界
- 28. 安卓绘图按钮用于自定义视图画布?
- 29. 未在自定义视图中绘制位图
- 30. 在自定义滚动视图中绘图
你可能会考虑矢量绘图资源使用路径。 –