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

Вспомогательный поток в SurfaceView - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Datepicker http://www.cyberforum.ru/android-dev/thread1180147.html
Как можно сделать вот так: а при нажатии на эти элементы открывать соответствующий еомпонент например Datepicker yimepicker вот скрин
Android Цвет popup menu в ActionBar Здравствуйте! Подскажите пожалуйста как можно изменить цвет popup menu в ActionBar. Я использую support library v7 AppCompat. Делаю так, но цвет меняется на Android 4,0 і дальше, на 2.3.6 пробовал, цвет стандартный. <style name="PopupMenu.Schedulestyle" parent="@style/Widget.AppCompat.PopupMenu"> <item... http://www.cyberforum.ru/android-dev/thread1179965.html
не могу открыть txt в виджете Android
есть на форме 3 виджета pushButton textEdit listWidget при нажатии на кнопку текст с textEdit сохраняется в фаил тхт а потом при открытии программы должен отображаться в listWidget что с кодом не так zametki.cpp #include "zametki.h" #include "ui_zametki.h" #include <QTextDocumentWriter> zametki::zametki(QWidget *parent) : QDialog(parent), ui(new Ui::zametki)
Диплом Android
Привет всем) Есть такое пункт в дипломе, как выбор ПО, вот мне стало интересно с помощью чего можно еще создавать приложения для андроид, какие-нибудь среды, языки, средства. Заранее спасибо Добавлено через 6 минут А да, сам я использую SDK + Eclipse.
Android Просмотр проекта в Android Studio http://www.cyberforum.ru/android-dev/thread1179271.html
Всем привет ! Возможно , что не там создал тему, так что извиняюсь . Проблема такая , есть исходник андроид приложения "расписание КГУ" , разработчик выложил на github . Хочется посмотреть на него , запустить на эклипсе галилео почему-то не получилось, может нужно на Android studio ? Как запустить 0_о ? Стыдно и неловко , но любопытство берет вверх! ссылка:...
Android получить контекст другого приложения Приветствую. Есть ли возможность получить из своего приложения контекст другого? this . mContext = context .getApplicationContext (); Если нет, может быть, после джейлбрейка? подробнее

Показать сообщение отдельно
phpk
25 / 25 / 6
Регистрация: 15.05.2013
Сообщений: 1,046

Вспомогательный поток в SurfaceView - Android

18.05.2014, 21:46. Просмотров 693. Ответов 3
Метки (Все метки)

Правильно ли использовать дополнительный поток в SurfaceView?
Т.е. допустим для обработки долгого касания экрана, удержания.
В 42-й и 46-й строке вызывается дополнительный поток для обработки долгого нажатия и перемещения обьекта.
И надо ли как-то закрывать новый поток, созданный в строках 57-87?
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
public class MainActivity extends Activity 
{
    MySurface surface;
    int left = -20;
    int right = 20;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        
        surface = new MySurface(this);
        
        setContentView(surface);
    }
 
////////////////////////////////////////////////////////////////////////////Surface
    public class MySurface extends SurfaceView 
            implements SurfaceHolder.Callback,OnTouchListener
    {
        MyThread thread = null;
        SurfaceHolder holder;
        private static final String TAG = "test";
 
        MySurface(Context context)
        {
            super(context);
 
            holder = getHolder();
            holder.addCallback(this);
            thread = new MyThread(holder);
            setOnTouchListener(this);
        }
        
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
            {
                down = true;
                if (event.getX() < getWidth() / 2)
                {
                    threadLeft(left);
                }
                else if(event.getX() > getWidth()/2)
                {
                    threadRight(right);
                }
            }
            if (event.getAction() == MotionEvent.ACTION_UP) 
            {
                down = false;
            }
            return true;
        }
        
        //поток для обработки удержания кнопки
        public void threadLeft(final int direction){
            new Thread(new Runnable(){
                    public void run()
                    {
                        while (down)
                        {
                            if(bat.getX()>5)
                                bat.move(direction);
                                try{
                                    Thread.sleep(50);
                                }catch(Exception e){}
                            }
                    }}).start();
        }
        
        public void threadRight(final int direction){
            new Thread(new Runnable(){
                    public void run()
                    {
                        //Paint p=new Paint();
                        //p.getTextBounds(mbat,0,mbat.length(),rect);
                        while (down)
                        {
                            if(bat.getX()<getWidth()-123)
                                bat.move(direction);
                            try{
                                Thread.sleep(50);
                            }catch(Exception e){}
                            }
                    }}).start();
        }
  }
 
///////////////////////////////////////////Thread
public class MyThread extends Thread{
    public void run(){...}
}
...
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru