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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
#1

OnClick для всего экрана - Программирование Android

22.08.2016, 09:05. Просмотров 182. Ответов 9
Метки нет (Все метки)

На Activity находится много компонентов. Activity несколько штук. И нужно сделать так чтобы при касании экрана в любом месте выполнялось

Java
1
2
3
4
  public void onClick(View view)
    {
        //должно выполняться
    }
вставлять это во все onClik всех компонентов в программе не вариант. Как можно решить проблему?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2016, 09:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос OnClick для всего экрана (Программирование Android):

Программное создание обработчика события OnClick для button - Программирование Android
Иметься кнопка, которая создается самим пользователем Код создания кнопки: public void CreateButton() { LinearLayout...

Одно окно Actvity для всего - Программирование Android
Экран приложения состоит из трех элементов: Текста, кнопки Да и кнопки Нет. В зависимости от выбранной кнопки, Текст принимает 100...

Кастомный шрифт для всего приложения - Программирование Android
подскажите лучший способ использовать кастомный шрифт для всего приложения.

Как лучше всего хранить данные для приложения? - Программирование Android
Допустим есть статический массив интов,или булов.Как его сохранять(onDestroy()) и подгружать(onCreate), наиболее минимальным кол-вом строк...

Кастомный шрифт для всего приложения android eclipse - Программирование Android
Как можно применить один шрифт для всего приложения полностью, включая не только кнопки и текствьюшки, но и ЭкшнБары, Табы, Листы и тд.? ...

WakeLock для затухания экрана - Программирование Android
Здравствуйте! как можно реализовать затухание экрана, экран не выключается из за wakelock, как можно сделать после 1 минуты затухание...

9
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,579
22.08.2016, 09:28 #2
Star2016, положить сверху прозрачный кликовосприимчивый контрол
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
22.08.2016, 09:36  [ТС] #3
Думал в направлении прозрачный Layout но я не буду терять клик по кнопкам? То есть этот прозрачный Layout не перекроет весь интерфейс заблокировав его?
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,579
22.08.2016, 09:59 #4
Star2016, перекроет. а разве не этого вы хотите? разве не это означает фраза "при касании экрана в любом месте"?

Добавлено через 58 секунд
пока программа работает в нормальном режиме прозрачный слой можно просто сделать невидимым простите за каламбур - тогда на него не будет кликаться
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
22.08.2016, 10:07  [ТС] #5
Я наверно слишком путанно объяснил. Мне нужно отлавливать событие касание экрана чтобы включать подсветку экрана. То есть коснулись экрана и подсветка со 20% на 100% , а через 15 секунд снова 20% Как это реализовать - понятно, НО вот как ловить событие касания при учете того что нужно сохранить функциональность интерфейса и при подсветке в 20%
0
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,579
22.08.2016, 10:19 #6
Цитата Сообщение от Star2016 Посмотреть сообщение
Мне нужно отлавливать событие касание экрана чтобы включать подсветку экрана. То есть коснулись экрана и подсветка со 20% на 100% , а через 15 секунд снова 20%
ооо
0
Pablito
2477 / 1961 / 611
Регистрация: 12.05.2014
Сообщений: 6,867
Завершенные тесты: 1
22.08.2016, 10:36 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.WindowManager;
 
public class MainActivity extends AppCompatActivity {
 
    private static final int DELAY = 15000;
 
    private final Runnable actionDimScreen = new Runnable() {
        @Override
        public void run() {
            dimScreen();
        }
    };
 
    private float defaultBrightness;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //
        final WindowManager.LayoutParams lp = getWindow().getAttributes();
        defaultBrightness = lp.screenBrightness;
        dimScreen();
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        dimScreen();
    }
 
    private void dimScreen() {
        final WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.screenBrightness = 0; // это не выключение экрана, а минимальный уровень яркости
        getWindow().setAttributes(lp);
    }
 
    private void restoreBrightness() {
        final WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.screenBrightness = defaultBrightness;
        getWindow().setAttributes(lp);
    }
 
    @Override
    public boolean dispatchTouchEvent(MotionEvent e) {
        switch (e.getAction()) {
            case MotionEvent.ACTION_DOWN:
                restoreBrightness();
                getWindow().getDecorView().removeCallbacks(actionDimScreen);
                break;
            case MotionEvent.ACTION_UP:
                getWindow().getDecorView().postDelayed(actionDimScreen, DELAY);
                break;
        }
        return super.dispatchTouchEvent(e);
    }
}
на 100% это слишком, пусть берет дефолтное значение, которое задано в системе или пользователем в настройках
2
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 731
22.08.2016, 11:10 #8
Цитата Сообщение от Star2016 Посмотреть сообщение
onClik всех компонентов в программе не вариант
писать родительскую активити с прописанным onTouchEvent(),
у других активити написать что они наследуются от родительской активити
как вариант
0
Pablito
22.08.2016, 11:12
  #9

Не по теме:

тем, кто не любит читать мои сообщения
dispatchTouchEvent - метод активити, который хавает все касания внутри этой активити

0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
22.08.2016, 11:14  [ТС] #10
dispatchTouchEvent - отлично работает! Спасибо!!! А что касается 100% яркости то я привел это значение для примера. На самом деле верхняя гланица впрочем как и нижняя задается пользователем в настройках программы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2016, 11:14
Привет! Вот еще темы с ответами:

Какой использовать элемент экрана для вывода текста? - Программирование Android
Здравствуйте. Во вкладке Pallete в Intellij IDEA доступны различные слои, виджеты, контейнеры и т.д. Что из них можно использовать для...

OnClick ExpandableListView - Программирование Android
Пример для ItemList, который нашел в интернете. listview.setOnItemClickListener(new OnItemClickListener(){ @Override ...

Ошибка в onclick кнопок - Программирование Android
Вроде как все правильно, но при нажатии на кнопку (любую) вылетает. Код программы: public void createTicket(View view)...

Событие onClick в fragment - Программирование Android
Доброго времени суток! Есть фрагмент и на нем кнопка, как обрабатывать нажатие этой кнопки? Фрагмент: <RelativeLayout...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
22.08.2016, 11:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru