【问题标题】:Programmatically draw vector drawable / SVG on to screen以编程方式在屏幕上绘制矢量可绘制/SVG
【发布时间】:2019-08-14 00:24:26
【问题描述】:

我正在尝试以编程方式在屏幕上绘制 SVG。下面的代码是我试过的,当我运行程序时没有任何显示。

    public MainView(Context context) {
        hexagon = AppCompatResources.getDrawable(context,R.drawable.hex_svg);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        hexagon.setBounds(30,30,30,30);
        hexagon.draw(canvas);
    }

【问题讨论】:

    标签: java android svg


    【解决方案1】:

    setBounds(int left, int top, int right, int bottom) 方法获取可绘制对象边界框的位置 - 您已将它们全部设置为 30,因此您将可绘制对象的宽度和高度设置为零。

    如果您希望图像为 30x,30y,宽度和高度为 30,请调用 setBounds(30, 30, 60, 60)

    我也会在 onLayout 方法中调用它,而不是在 onDraw 中。

    【讨论】:

      猜你喜欢
      • 2022-11-28
      • 2018-03-23
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多