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

OnTouchEvent - нарисовать точку - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Программирование сокетов http://www.cyberforum.ru/android-dev/thread1587383.html
Извиняюсь за глупые вопросы. Не могу понять где я напортачил. В общем месяц назад было интересно сделать сервер и клиент на java. Долго искал что и как реализовать. В итоге наткнулся на статью где...
Программирование Android SharedPreferences, HashMap Хочу сделать Save , Load в sharedPreferences и вывести результат в Log. не вижу ошибки :wall: Спасибо. public class MainActivity extends AppCompatActivity { @Override protected... http://www.cyberforum.ru/android-dev/thread1587274.html
Программирование Android Проверка валидности покупки сторонним сервером
Возможно ли следующее: Андроид устройства покупает контент через гугл и полученный JSON ответ отправляет на свой сервер, а этот сервер уже запрашивает сервер google на валидность покупки отправляя...
HTML ссылки в Android Программирование Android
Здравствуйте. Есть TextView, в который загружается HTML-код, в том числе и ссылки. Собственно по нажатию на ссылку она открывается в браузере (т.е. не в моем приложении). Вопрос 1: как...
Программирование Android Ищу программиста в интересный фитнес проект http://www.cyberforum.ru/android-dev/thread1586970.html
Добрый день, необходимо разработать android приложение . Сейчас существует приложение на технологии 1c bitrix мобильное приложение (и серверная часть api готова ), к сожалению с ним работать без...
Программирование Android Покупки, подписки в приложении Использую библиотеку https://github.com/anjlab/android-inapp-billing-v3 Может кто использовал и знает ответы на мои вопросы?) 1) Как я понял список контента для продажи составляется при... подробнее

Показать сообщение отдельно
Nattali
9 / 9 / 0
Регистрация: 11.12.2012
Сообщений: 55
21.11.2015, 14:35  [ТС]
Спасибо за ссылки, я внимательно почитала... Но странно как-то все в одном классе. У меня по мимо этого еще есть рисунки на канве. Вообщем впихнула все в один класс, использовала Path как в примерах, но это не помогло. Мои точки рисует, а на прикосновение не реагирует.

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
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new DrawView(this));
        
        parameters = new Parameters();
                Display display = getWindowManager().getDefaultDisplay();
        
        DisplayMetrics metricsB = new DisplayMetrics();
        display.getMetrics(metricsB);
        
        displayHeight = metricsB.heightPixels;
        displayWidth = metricsB.widthPixels;
        
    }
    
    class DrawView extends View{
    
        float TouchX, TouchY;
        Paint p;
        Path path;
        Paint paintPoint;
        Path mPath;
 
        public DrawView(Context context) {
          super(context);
          p = new Paint(Paint.ANTI_ALIAS_FLAG);
          p.setStrokeWidth(2);
          path = new Path();
          paintPoint = new Paint(Paint.ANTI_ALIAS_FLAG);
          mPath = new Path();
        }
        
        @Override
        protected void onDraw(Canvas canvas) {
          canvas.drawARGB(80, 102, 204, 255);
 
          p.setStyle(Paint.Style.FILL);
          p.setColor(Color.WHITE);
          for (int i=20; i<=140; i+=20){
              canvas.drawCircle(i,  displayHeight-80, 2, p);
          }  
          
          for (int i=100; i<=280; i+=20){
              canvas.drawCircle(20,  displayHeight-i, 2, p);
          }  
          
            paintPoint.setStrokeWidth(2);
            paintPoint.setColor(Color.MAGENTA);
            canvas.drawPath(mPath, paintPoint);
        }
        
       @Override
        public  boolean onTouchEvent(MotionEvent event){
            if(event.getAction() == MotionEvent.ACTION_DOWN){ 
                TouchX = (float) event.getX() ;
                TouchY =(float) event.getY() ;
                mPath.moveTo(TouchX, TouchY);
                mPath.lineTo(TouchX, TouchY);
                invalidate();
            }
            return true;
         }
    }
Добавлено через 26 минут
Ура! Наконец-то это работает! Все получилось проще чем ожидалось. Спасибо за подсказки! Вот ответ, может кому-то еще пригодится
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
             protected void onDraw(Canvas canvas) {
          canvas.drawARGB(80, 102, 204, 255);
                    paintPoint.setStrokeWidth(2);
            paintPoint.setColor(Color.MAGENTA);
            canvas.drawCircle(TouchX, TouchY, 2, paintPoint);
        }
        
       @Override
        public  boolean onTouchEvent(MotionEvent event){
            if(event.getAction() == MotionEvent.ACTION_DOWN){ 
                TouchX = (float) event.getX() ;
                TouchY =(float) event.getY() ;
                invalidate();
            }
            return true;
         }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru