#java #android #svg
#java #Android #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);
}
Ответ №1:
setBounds(int left, int top, int right, int bottom)
Метод принимает положения ограничивающей рамки объекта рисования — вы установили их все равными 30, таким образом, вы устанавливаете ширину и высоту объекта рисования равными нулю.
Если вы хотите, чтобы изображение было размером 30x, 30y с шириной и высотой 30, тогда вызовите setBounds(30, 30, 60, 60)
.
Также я бы вызвал это в onLayout
методе, а не в onDraw
.