Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
#1

Перетаскивание некого View поверх всех приложений

06.08.2013, 08:40. Просмотров 979. Ответов 0
Метки нет (Все метки)

В общем, хотят тут от меня такую штуку, а я даже не знаю, возможно ли такое сделать вообще.

Суть такова: Под таскбаром висит некая иконка, когда запущен сервис. Делаем по ней долгое нажатие - она становится подвижной. Двигаем к центру экрана - открывается само приложение.

Сейчас мне удалось повесить иконку и научить ее реагировать на нажатия.

Проблемы в следующем: - Если использовать тип окна TYPE_SYSTEM_ALERT, то оно полюбому берет на себя все эветы. Как пропускать нажатия насквозь - непонятно. - Если использовать TYPE_SYSTEM_OVERLAY, то он вообще не умеет ловить эвенты и все пропускает насквозь.

Как думаете, реально ли вообще что-то такое сделать? Сколько гуглил проги, которые работаю поверх всего, они обычно или некликабельные таблички с системной инфой (часы, системные показатели) или мелкие приложения в окошках.

Сейчас в сервисе вызываю окошко следующим образом:

Кликните здесь для просмотра всего текста

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
private void Initialize(){
        
        this.frameLayout = new FrameLayout(this);
        this.icon = new Button(this);
        this.icon.setClickable(true);
        this.icon.setBackgroundResource(R.drawable.ic_action_status_bar_ligth);
        this.icon.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Log.i("Log_tag", "Нажатие");
                
            }
        });
        
        this.icon.setLongClickable(true);
        this.icon.setOnLongClickListener(new OnLongClickListener() {
            
            @Override
            public boolean onLongClick(View v) {
                // TODO Auto-generated method stub
                showApp();
                Log.i("Log_tag", "Длинное нажатие");
                return true;
            }
        });
        
        frameLayout.addView(this.icon);
        
        this.WM = ((WindowManager)getSystemService("window"));
        
        WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
                40,
                PixelFormat.TRANSLUCENT
                );
        localLayoutParams.gravity = 51;
        
        this.WM.addView(this.frameLayout, localLayoutParams);
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2013, 08:40
Ответы с готовыми решениями:

View поверх всех окон
Как сделать приложение, как это -...

Android-анимация поверх всех View
Всем добрый день. Перерыл весь гугл но так и не смог найти ответ на вопрос....

Поставить View поверх другой и отключить touch
Здравствуйте. Хочу реализовать следующее. Есть список на каждом итеме есть...

Плавающее окно поверх домашнего экрана и других приложений
Здравствуйте! Как сделать плавающее окно поверх других приложений и домашнего...

Как сделать вьюшку, чтобы она была поверх любых приложений?
Например, как это сделано в ГеймХацкере. Нигде не могу нарыть. Говорят про...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2013, 08:40

Почему сервис выполняется с ошибкой (вывод картинки поверх всех окон)
Здравствуйте. Мне нужно реализовать вывод картинки поверх всех окон (в...

В чем разница (View view) и (View v)
Я только начинаю изучать программирование под андроид (до этого вобще...

Где пообщаться насчёт способов продажи приложений, соблюдения всех тонкостей?
Подходит время публикации своих приложений, хочется пообщаться с людьми,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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