Функция OnDraw для моего пользовательского представления вызывается бесконечно и циклически! Какая может быть причина? Вот мой пользовательский вид: – public class Balls extends View{ private static final String TAG = "BallsView"; private int mMode = READY; public static final int PAUSE = 0; public static final int READY = 1; public static final int RUNNING […]
В настоящее время я создаю игру на основе плитки, которая по существу рисует лабиринт с использованием 2 наборов логических массивов, чтобы определить, где нужно нарисовать каждую стену. У меня есть все, что нужно, только с 5 x 5 секцией лабиринта (общий размер лабиринта 30 х 30). Тем не менее, проблема, с которой я сталкиваюсь, – […]
Я разрабатываю небольшое приложение для Android, в котором я использую свой собственный класс линейного макета. В этом классе я попытался нарисовать один маленький треугольник и попытался включить его в свою линейную компоновку, но я не смог этого сделать. Я попробовал это следующими способами … @SuppressLint("DrawAllocation") public class SimpleLin extends LinearLayout { public String TAG = […]
У меня есть дуга, и я хочу рисовать масштабные отметки в 0, 45, 90, 135, 180 градусов, может ли кто-нибудь помочь мне с математикой, необходимой для достижения x, y точек 5 и 30 на этом эскизе ?: Вот мой код для рисования 1 шкалы. private void drawScale(Canvas canvas) { //canvas.drawOval(scaleRect, scalePaint); canvas.save(); Paint p = […]
Я создал пользовательский вид в android, который расширяет представление. Я переопределяю метод onDraw () и делаю свою картину на холсте там – без проблем. Я понимаю, что я должен переопределить метод onMeasure () и вызвать setMeasuredDimension (ширина, высота) с моими желаемыми размерами. Я замечаю, что если я помещаю точки останова в свой код, onMeasure () […]
Мне нужно нарисовать текст по круговой траектории. Я попробовал метод drawTextOnPath() . Но для текстов, таких как «плодородное окно» в изображении, зашифрованном, текст вращается и не читается. Код, который я использовал: customPath2.addArc(mCircleRectF, 30F, 64.28F); customPaint2.setAntiAlias(true); customPaint2.setDither(true); customPaint2.setStrokeWidth(mCircleStrokeWidth); customPaint2.setColor(Color.parseColor("#93BE66")); customPaint2.setStyle(Paint.Style.STROKE); customPaint2.setStrokeCap(Paint.Cap.ROUND); canvas.drawPath(customPath2, customPaint2); titlePaint.setColor(Color.parseColor("#ffffff")); titlePaint.setAntiAlias(true); titlePaint.setTypeface(Typeface.MONOSPACE); titlePaint.setLetterSpacing(0.07F); titlePaint.setTextAlign(Paint.Align.CENTER); titlePaint.setTextSize(35f); canvas.drawTextOnPath("FERTILE WINDOW", customPath2, 0, 8, titlePaint);
В качестве новичка я создавал простое приложение-счетчик, используя простой макет xml и класс под названием «Counter», который выводит (расширяет) из класса Activity. Теперь я хочу загрузить растровое изображение (файл png), чтобы разместить рядом с счетчиком. Я читал onDraw (), но для этого класса требуется расширение «Просмотр». Я пытаюсь создать объект этого класса, чтобы использовать его […]
У меня есть пользовательский вид, который я быстро научился не делать выделения объектов и переместил все мои выделения Paint в другой метод, отлично. Мне нужно использовать StaticLayout, однако, для некоторого текста, который применялся в некоторых случаях. layoutBpm = new StaticLayout(bpmValue, textPaintBPM, arcRadius, Layout.Alignment.ALIGN_NORMAL, 0, 1, false); layoutBpm.draw(canvas); Мне показалось, что это имеет смысл в onDraw, […]
У меня есть класс под названием SeatsPanel, где я рисую места (используя drawRect) в методе onDraw. Метод onDraw использует Canvas в качестве параметра, но как вы определяете размер Canvas? Причина, по которой я задаю этот вопрос, состоит в том, что этот класс раздувается в другом классе. Я знаю, что размер холста имеет высоту и ширину […]
Вот код простого расширения ImageView, который позволяет пользователю рисовать пальцем. public class MyImageView extends ImageView { List<Point> points = new ArrayList<Point>(); Paint paint = new Paint(); public MyImageView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onDraw(Canvas canvas) { for (Point point : points) { canvas.drawCircle(point.x, point.y, 5, paint); // Log.d(TAG, "Painting: "+point); […]