Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Canvas, SurfaceView, Touch - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как отредактировать файл библиотеки http://www.cyberforum.ru/android-dev/thread1750532.html
Здрасьте) Столкнулся с такой проблемой. Есть библиотека https://github.com/dm77/barcodescanner Я хочу малость подредактировать ее, дабы убрать маску и лазер при сканировании qr-кода. В Android...
Программирование Android Компиляция игры, libGDX Здравствуйте. Помогите скомпилировать проект. Да, странная просьба) Я так понял, компилировать нужно в Andriod Studio. Игра написана с помощью libGDX. Но вот как скомпилировать, хотя бы на desctope... http://www.cyberforum.ru/android-dev/thread1750475.html
Программирование Android Можно ли определить источник, откуда устанавливался apk?
То есть откудого было установленно приложение,из файла на носителе или из плейстора.
Обновление приложения и AlarmManager Программирование Android
Доброе утро, уважаемые форумчане! Хочу сделать приложение – будильник. С помощью AlarmManager запускаю приложение в нужное время, все работает. Но вот незадача, в момент обновления приложения через...
Программирование Android При обновлении свайпом не работает полоса прокрутки http://www.cyberforum.ru/android-dev/thread1750305.html
Разрабатываю программу, сделал обновление WebView свайпом вниз, но теперь полоса прокрутки не листает вверх происходит обновление свайпом, что можно сделать? Добавлено через 11 минут package...
Программирование Android Прокрутка списка вместе с экраном Здравствуйте, у меня такая проблема не могу сделать прокрутку списка вместе с экраном, во многих источниках пишется что ListView нельзя вкладывать в ScrollView и я не знаю как сделать по другому.... подробнее

Показать сообщение отдельно
ProGraf
0 / 0 / 0
Регистрация: 27.06.2015
Сообщений: 96

Canvas, SurfaceView, Touch - Программирование Android

31.05.2016, 19:23. Просмотров 327. Ответов 3
Метки (Все метки)

Всем добра.
Возник один баг (может в коде проблема), который неприятно выглядит в приложении.
Рисуя с помощью SurfaceView, Canvas выходит нормально, все идеально, но отпуская палец и начиная рисовать заново, происходит так, предыдущая линия (конец ее), начинает моргать, я не понимаю в чем проблема.
Объясню еще раз, когда пользователь рисует все нормально, а когда начинает рисовать вторую линию, у предыдущей начинать конец линии моргать.
Код: (activity)

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import java.util.Random;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.Window;
 
public class ScreenActivity extends Activity {
 
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
 
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(new MySurfaceView(this));
    }
 
    class MySurfaceView extends SurfaceView {
 
        Path path;
 
        Thread thread = null;
        SurfaceHolder surfaceHolder;
        volatile boolean running = false;
 
        private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        Random random;
 
        public MySurfaceView(Context context) {
            super(context);
            surfaceHolder = getHolder();
            paint.setStyle(Paint.Style.STROKE);
            paint.setStrokeWidth(1);
            paint.setColor(Color.WHITE);
        }
 
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                path = new Path();
                path.moveTo(event.getX(), event.getY());
                path.lineTo(event.getX(), event.getY());
            } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
                path.lineTo(event.getX(), event.getY());
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                path.lineTo(event.getX(), event.getY());
            //  mGraphics.add(path);
            }
 
            if (path != null) {
                Canvas canvas = surfaceHolder.lockCanvas();
                canvas.drawPath(path, paint);
                surfaceHolder.unlockCanvasAndPost(canvas);
            } 
 
            return true;
        }
    }
}


Спасибо заранее.

Добавлено через 4 часа 47 минут
Прям никто не знает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru