Программно нарисовать векторную графику / SVG на экране - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь программно нарисовать 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);
    }

1 Ответ

0 голосов
/ 23 марта 2019

Метод setBounds(int left, int top, int right, int bottom) принимает положения ограничительной рамки рисованного объекта - вы установили их все на 30, поэтому вы устанавливаете ширину и высоту рисованного объекта на ноль.

Если вы хотите, чтобыдля изображения 30x, 30y с шириной и высотой 30, затем вызовите setBounds(30, 30, 60, 60).

Также я бы назвал это в методе onLayout, а не в onDraw.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...