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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android sqlite returned: error code = 14, msg = cannot open file at source line 25467 http://www.cyberforum.ru/android-dev/thread934104.html
sqlite returned: error code = 14, msg = cannot open file at source line 25467 Что это такое и как от этого избавиться, пере открывал все посты в интернете - ничего не понял.
Android Поменять местами два значения из столбца SQLite Доброго времени суток . Есть таблица с 2 столбами ( id,text) .Нужно поменять местами значения text из разных строк. Было id text 1 asd 2 som 3 lol стало ( 1 и 3 поменяли) id text 1 lol http://www.cyberforum.ru/android-dev/thread933946.html
Почему WebView не работает Android
Скажите в чём дело не так вот прикрепил скриншот:
Android Можно снимать видео в то время как аудио файл включается?
Можно снимать видео в то время как аудио файл включается? А также можно ли переписать аудио звука и видео, а также спасти?
Android Прочитать файл внутри проекта Android http://www.cyberforum.ru/android-dev/thread933789.html
Требуется внутри проекта из любой папки достать InputStream файла. Способ с использованием assets не подходит, метод getAssets() использовать нельзя, ищу альтернативу.
Android PreferenceActivity, цвет текста Здравствуйте! Есть ли способ изменить цвет текста в активити, автоматически создаваемом неким view-объектом из PreferenceActivity? В создаваемом активити для выбора ("Размер списка" - см.ниже) цвет фона наследуется от исходного PreferenceActivity, но цвет текста не наследуется и всегда черный независимо от уровня применения соотв. стиля - application,activity,view... ... подробнее

Показать сообщение отдельно
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42

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

06.08.2013, 08:40. Просмотров 839. Ответов 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);
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru