Articles of ondraw

Как обновить Android Views после внесения изменений?

У меня есть некоторые методы в моем представлении, которые изменяют некоторые фигуры, которые вырисовываются при вызове. В Java, чтобы убедиться, что компонент обновлен, я бы назвал repaint() . Есть ли что-то, что обеспечит правильное обновление моего представления? Я где-то читал, что вызов метода invalidate() в onDraw() будет поддерживать актуальность, и поэтому мне не нужно было […]

Почему мой вызов Canvas.drawText () просто не работает

Привет всем: Я пишу класс, который наследует от TextView, и переопределяет его onDraw() , но в методе мой canvas.drawText() не работает, код, как canvas.drawText() ниже: protected void onDraw(Canvas canvas) { // super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(android.graphics.Color.WHITE); paint.setTextSize(20); String text = "hello"; canvas.drawText(text, 0, 0, paint); }

Как определить независимую от пикселя высоту в методе onDraw ()

У меня есть расширенный вид для создания пользовательского виджета. Я хотел бы определить высоту виджета с независимым пиксельным блоком. Я думаю, что это можно сделать, умножив плотность пикселей на желаемую высоту, но я не знаю, как это сделать. Что я до сих пор (сведено к минимуму): public class Timeline extends View { @Override protected void […]

OnDraw Пользовательский вид внутри Scrollview

У меня есть пользовательский вид (width = 2000) внутри горизонтального прокрутки (width = 480). Таким образом, есть область, которая прокручивается. Когда onDraw() , грязный прямоугольник (возвращаемый getClipBounds() ) возвращает размеры всего представления, поэтому я рисую весь вид, включая область, которая не видна. Как следствие, когда я прокручиваю, onDraw() больше не вызывается, потому что области, которые […]

Нарисуйте наложение (HUD) на Android VideoView?

У меня есть пользовательский вид, который рисует HUD : Вот мой макет: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <VideoView android:id="@+id/videoView1" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" /> <com.widgets.HUD android:id="@+id/hud" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </FrameLayout> public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.hud_fragment, container, false); frameLayout = (FrameLayout) view.findViewById(R.id.frameLayout); hudWidget = (HUD) […]

Рисование прямоугольника с помощью жестов перемещения

Я пытаюсь создать прямоугольник, но это то, что происходит, когда я перехожу от начала координат к конечным координатам , На самом деле я хочу показать прогресс, когда пользователь переместится с одной точки на другую. Это то, что я хотел бы иметь. , Код:- public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch […]

Flash в Android WebView – проблема слоизации

Я пытаюсь иметь интерактивные кнопки в веб-обозревателе Android, содержащем флэш-память. В качестве теста я настроил HTML для загрузки в flash-формате с установленным размером x / y. public class webz extends WebView { private Drawable image; public webz(Context context, AttributeSet attrs) { super(context, attrs); image=context.getResources().getDrawable(R.drawable.icon); getSettings().setPluginsEnabled(true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); image.setBounds(100, 300, […]

Как нарисовать на холсте вида без масштабирования артефактов, когда родительский взгляд имеет масштабный коэффициент?

При рисовании на холсте в методе onDraw вы не знаете ни о каком масштабном коэффициенте своего родителя. Это приводит к тому, что все виды и их рисунки увеличиваются / уменьшаются, благодаря чему можно исследовать «пиксельные» чертежи. Пример. Предположим, у нас есть детское представление с пользовательским рисунком class MyView extends View { @Override public onDraw(Canvas canvas) […]

Андроид с использованием SurfaceView и Thread

Я пытаюсь нарисовать мяч на экране, используя 3 класса. Я немного об этом читал, и я нашел фрагмент кода, который работает с 3-мя классами на одной странице. Игра с графикой в ​​Android Я изменил код так, что у меня есть мяч, который движется и смещает направление при ударе по стене, как на картинке ниже (это […]

Хорошая практика программирования вызывает invalidate () внутри onDraw ()?

Хорошая практика программирования вызывает invalidate() внутри onDraw() ? По моему onDraw() , вызов invalidate() внутри onDraw() стоит дорого и не требуется, если нет изменений в холсте. Является ли invalidate() эквивалентным асинхронной версии onDraw() ? По моему пониманию, они эквивалентны. Поправьте меня, если я ошибаюсь. Спасибо.