首页 > 解决方案 > 以编程方式在屏幕上绘制矢量可绘制/SVG

问题描述

我正在尝试以编程方式将 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);
    }

标签: javaandroidsvg

解决方案


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

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

另外我会在onLayout方法中调用它而不是在onDraw.


推荐阅读