Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
10.08.2016, 17:20  [ТС] 0

Мягкий лонг-клик по кнопке с таймером

10.08.2016, 17:20. Просмотров 578. Ответов 13
Метки (Все метки)

Ответ

Цитата Сообщение от Паблито Посмотреть сообщение
писал ровно 10 минут
Я свой тоже минут 15-20 писал... Хотелось СИСТЕМНОЕ решение... (типа как с анимацией - натравил класс на кнопку и пользуюсь)

Мой вариант чуть и гибче:
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
    private Timer timer;
    private long timer_begin;
    private boolean timer_runed = false;
 
 
        ((Button) view.findViewById(R.id.bt_chg1)).setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                TimerTask task1 = new TimerTask() {
                    @Override
                    public void run() {
                        long time=System.currentTimeMillis();
                        if(timer_begin==-1) timer_begin = time;
 
                        // плавное наращивание скорости... НЕ ПРОВЕРЕНО
                        if(time-timer_begin-5*1000>0) {
                            setValueAddUi(-10);
                        }else if(time-timer_begin-3*1000>0) {
                            setValueAddUi(-5);
                        }else{
                            setValueAddUi(-1);
                        }
                    }
                };
                if(!timer_runed) {
                    timer_begin = -1;
                    timer = new Timer();
                    timer.schedule(task1, 1, 100);
                    timer_runed = true;
                }
                return false;
            }
        });
        ((Button) view.findViewById(R.id.bt_chg1)).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                if((motionEvent.getAction() == MotionEvent.ACTION_UP)||(motionEvent.getAction() == MotionEvent.ACTION_CANCEL)) {
                    if (timer_runed){ timer.cancel(); timer = null; timer_runed = false; }
                }
                return false;
            }
        });
(в своих "костылях на скорую руку" мог что-нибудь упустить, что приведет к зависанию в самый нужный момент и отпугнет пользователя)

Вернуться к обсуждению:
Мягкий лонг-клик по кнопке с таймером
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2016, 17:20
Готовые ответы и решения:

Клик по кнопке в элементе listView
Доброго времени суток. Пишу свое первое приложение под андроид. На данный...

Клик в соответствии с таймером
zAkS__dBUpU Вот то что я хотел сделать уже пол года. Нужно что бы в программе...

QT клик мышкой в заданное время, в соотношении с таймером
Помогите. Нужно сделать таймер с точностью до тысячных. Затем, если в таймере...

Клик по кнопке
Не могли бы помочь написать скрипт который будет кликать по кнопке браузера как...

Не работает клик по кнопке
Не получается запустить даже самый простой код Вот это ХАМЛ код <Window...

13
Другие темы раздела
Программирование Android Облачная платформа для разработчиков http://www.cyberforum.ru/android-dev/thread1791982.html
Доброго дня. Программированием на андроид занимаюсь только как хобби. Корпорация добра почти насильно переводит на Студию. А у меня железо не тянет. Менять комп ради увлечения как то не по карману....
Программирование Android Запуск проекта jMonkeyEngine на Android Не могу скомпилировать APK файл с jME SDK. Вот лог: ant -f C:\\Users\\Bublik\\Documents\\testjme\\BasicGame clean jar init: deps-clean: Updating property file:... http://www.cyberforum.ru/android-dev/thread1791968.html
Программирование Android Есть ли сервис, который может проверить твою иконку на наличие АП?
Маленькая предыстория. Как-то я написал приложение и задумался про красивую иконку. Рисовать не умею, заказывать дорого. Нашел на одном сайте (вроде бы как с изображениями без авторских прав...
Программирование Android Imageloader in dcim
Здравствуйте, маленький вопрос: почему изображения при показе сразу во вью лежат в папке dcim/camera? final DisplayImageOptions displayOptions = new DisplayImageOptions.Builder() ...
Программирование Android ToolBar заполонил весь экран! http://www.cyberforum.ru/android-dev/thread1791911.html
Я создавал ToolBar в точности как в видеоуроках, но почему-то у меня он растянулся на весь экран, скриншот внизу, помогите, пожалуйста! toolbar.xml: ?xml version="1.0" encoding="utf-8"?>...
Программирование Android Не получилось использовать данные в намерении Я только учусь, прошу отнестись с пониманием. Сам ответа никак не могу найти. Вроде все перепробовал. Прошу учесть, что задача чисто учебная. Я понимаю, что могу легко добиться результата с помощью... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru