Допустим, мы хотим нарисовать что-либо. Мы переопределяем DrawView
и в нём уже что-то рисуем. Но важно, что в главном OnCreate()
мы тогда указываем setContentView(new DrawView(this))
вместо нужногоsetContentView(R.layout.activity_main)
то есть конструируемся не из основной разметки activity_main, которая уложена в XML файл, а из рисунка DrawView
.
Мой вопрос в том, что можно ли, сохраняя основную разметку activity_main
, нарисовать какие-либо фигуры?
P.S. С ними будет небольшая анимация, поэтому их не укладывая в XML файл.
Стандартным средством для рисования является Canvas
, который обычно берется или из Bitmap
или из SurfaceView
. Для SurfaceView
:
<SurfaceView
android:id="@+id/surface"
android:layout_width="match_parent"
android:layout_height="match_parent" />
код примерно такой:
setContentView(R.layout.main);
SurfaceView surface = (SurfaceView) findViewById(R.id.surface);
surface.getHolder().addCallback(new Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
// Do some drawing when surface is ready
Canvas canvas = holder.lockCanvas();
canvas.drawColor(Color.RED); //рисуем здесь
holder.unlockCanvasAndPost(canvas);
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
});
Можно взять в качестве полотна не SurfaceView
, а Bitmap
, тогда:
Canvas canvas = new Canvas(bitmap);
//дальше рисуем на Canvas белую линию по диагонали
Paint textPaint = new Paint();
textPaint.setColor(Color.WHITE);
canvas.drawLine(0, 0, canvas.getWidth(), canvas.getHeight(), textPaint);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня проект Компас, в начале проекта включается анимация ImageView и работает постоянноХочу прикрепить к ImageView еще одну Animation,что бы ImageView опустился...
Пишу небольшую утилиту под androidНазначение - чистка мусора, удаление ненужных файлов и тд