Android正确的方法来绘制具有笔触宽度的矢量

阿克拉姆

嗨,我正在尝试在我的Android应用程序中使用vector drawable。

这是相同的xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="1024dp"
    android:height="1024dp"
    android:viewportWidth="1024"
    android:viewportHeight="1024">
    <path
        android:pathData="M 0,0 L 50,0 L 50,50 z"
        android:strokeColor="#000000" />
</vector>

这是它的外观,没有任何笔触宽度 在此处输入图片说明

如果我添加android:strokeWidth =“ 10”,则外观如下在此处输入图片说明

所有行的笔画宽度不一致(相同宽度),最左边的点似乎没有被截断

有没有办法使所有绘制的3条线一致(相同宽度)而不是不规则?

汉尼斯午餐

想象将可绘制对象作为坐标系统,将点p(0,0)放在左上角。您的x轴从左上角到右上角,您的y轴从左上角到左下角。

创建路径时,它会在坐标系中从一个点延伸到另一个点。抚摸此路径时,绘制的线strokeWidth默认为1。但是,当您将宽度设置为10时,该线在坐标系中要粗得多,但是如果您的路径已经在y = 0处,那么该“厚度”应该去哪里?可绘制对象不会显示任何负坐标。这就是为什么您的可绘制对象被切断。

解决方案:将strokeWidth小于等于strokeWidth+的坐标添加strokeWidth大于viewportWidth-strokeWidth和/或从坐标中减去的坐标和/或viewportHeight-strokeWidth+为位于视口边界处的边给定间距(在此示例中为3很好)

因此,您的代码应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="1024dp"
    android:height="1024dp"
    android:viewportWidth="1024"
    android:viewportHeight="1024">
    <path
        android:pathData="M 13,13 L 50,13 L 50,50 z"
        android:strokeColor="#000000"
        android:strokeWidth="10"/>
</vector>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SVG路径内具有笔划宽度的相邻行

带有笔触的矩形,缩放后笔触线变形

最好的方法来显示在Android中的网络错误,具有点击重试选项

有正确的方法来存储已解决的承诺吗?

正确的方法来修复没有http://的网址

pythonic方法来简化具有多个值的if子句

Altair:带有笔触标记的折线图

纯CSS中带有笔触的弯曲边框?

具有矢量可绘制大小的ImageView

有没有一种快速的方法来绘制Scilab中的多个图

有没有更简单的方法来绘制相对频率直方图

正确的方法来传输TypedArrays?

正确的方法来填充ViewModel?

正确的方法来移动刚体GameObject

如何在可绘制对象中创建带有笔触的一个三角形边的矩形形状?

在Android Studio中无法正确绘制矢量绘制

是否有矢量化的方法来反转nxm numpy数组并将前端零移位到后端

在 NumPy 中是否有一种矢量化的方法来进行类似矩阵乘法的运算?

有没有更好的方法来选择多个具有相同父元素的元素?

有没有更简单的方法来创建具有给定结构的链表?

Haskell:有没有更好的方法来编写具有相同RHS的case语句?

NumPy:有没有更好的方法来构造具有特定值的特定矩阵?

正确的方法来设置带有LiveData的ViewModel和带有翻新的存储库

有没有正确的方法来发现js中的非致命错误?

有没有一种“正确的”方法来避免“必须是最终的”错误?

有没有正确的方法来确定NSNumber是使用Swift从Bool派生的?

是否有正确的方法来解析 JavaScript 中带有循环的 JSON?

有没有更正确的方法来实现自己的目标?

具有边框自定义视图或可绘制矢量的Android按钮覆盖