Articles of ondraw

OnDraw () on View рисует за макет

Хорошо, вот сделка. Я хочу переместить элементы в расширенном классе галереи, чтобы изменить порядок изображений. То, как я это делаю сейчас: При длительном нажатии удалите текущий выбранный элемент, Используйте onDraw() чтобы нарисовать одно и то же изображение, чтобы я мог перемещать его, используя onTouchEvent() При выпуске снова добавьте элемент Это прекрасно работает, но проблема в […]

5.1 как возвышение Тень под видом с использованием метода onDraw

У меня есть следующий класс: class SlidingTabStrip extends LinearLayout { private static final int DEFAULT_BOTTOM_BORDER_THICKNESS_DIPS = 1; private static final byte DEFAULT_BOTTOM_BORDER_COLOR_ALPHA = 0x26; private static final int SELECTED_INDICATOR_THICKNESS_DIPS = 3; private static final int DEFAULT_SELECTED_INDICATOR_COLOR = 0xFF33B5E5; private final int mBottomBorderThickness; private final Paint mBottomBorderPaint; private final int mSelectedIndicatorThickness; private final Paint mSelectedIndicatorPaint; private […]

Очистка холста с помощью Canvas.drawColor ()

Я пытаюсь изменить фоновое изображение пользовательского представления с некоторым успехом. Изображение изменится, но проблема в том, что я все еще вижу следы старого изображения. Когда я пытаюсь очистить холст перед рисованием нового изображения, он не работает. Я создаю растровое изображение для сохранения изображения. При изменении изображения я вызываю Canvas.drawColor () перед рисованием нового изображения, но […]

Android Multi SurfaceViews

Я пытаюсь работать с 3 SurfaceViews на одном экране, один на верхней половине (BoardView), один на нижней половине (StatusView), а последний – на дополнительный слой над верхней половиной (TileView) (см. Main.xml) , Я создал класс MySurfaceView, который расширен BoardView, StatusView и TileView. У меня много проблем с этим. Позвольте мне сначала дать код. main.xml: <?xml […]

View.onDraw () – когда он вызван?

Я поместил вызов Log.d () в onDraw () моего расширенного представления, чтобы я мог видеть, как часто и когда его вызывают. Это вызвано созданием представления, что неудивительно. Но потом я замечаю, что он вызывается на каждое нажатие, которое обрабатывается onTouchEvent (), хотя мой код не делает ничего удаленно связанного с графикой. Однако в документации для […]

Переопределить onDraw () или draw ()?

Мой проект основан на surfaceView и до сих пор у меня был весь мой рендеринг в onDraw, который я переопределяю. Казалось, все в порядке. Тем не менее, я только что обновил свой SDK, и теперь он дает мне сообщение об ошибке: Подозрительный вызов метода; Вероятно, следует называть «draw», а не «onDraw» Может ли кто-нибудь объяснить […]

PorterduffXfermode: очистить раздел растрового изображения

Цель состоит в том, чтобы просто нарисовать растровое изображение и поверх него нарисовать фигуры, которые УДАЛИТЬ базовую область растрового изображения. Я создал простое доказательство кода концепции, чтобы попытаться понять, как именно я должен идти по этому поводу. В различных потоках здесь я нашел многочисленные подсказки об использовании: android.graphics.PorterDuff.Mode.CLEAR В приведенном ниже коде просто создается экран […]

Как нарисовать дугу между двумя точками на холсте?

У меня две точки на холсте, теперь я могу провести линию между этими точками, как показано ниже, используя Этот код canvas.drawLine(p1.x, p1.y, p2.x, p2.y, paint); Я хочу нарисовать дугу между двумя точками, как показано ниже. Как я могу рисовать так.

Пользовательский виджет, использующий LinearLayout, не получающий onDraw ()

Я создаю собственный виджет, расширяя LinearLayout : public class MyWidget extends LinearLayout { private static Paint PAINT = new Paint(Paint.ANTI_ALIAS_FLAG); static { PAINT.setColor(Color.RED); } public MyWidget(Context context) { this(context, null); } public MyWidget(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight()/2, canvas.getWidth()/2, PAINT); // never […]

Попытка получить размер изображения в ImageView

Я пытаюсь получить реальный размер изображения, отображаемого на изображении. На самом деле мое изображение больше, чем экран, и изображение просматривает изображение, чтобы изменить его. Я ищу новый размер. Я попытался переопределить метод onDraw ImageView в пользовательском представлении, но я не получаю правильную высоту и ширину … public class LandImageView extends ImageView { public LandImageView( Context […]