Android jest dużym kombajnem, z którego możemy dużo wycisnąć. Android to nie tylko telefony, tv, ale też i normalny sprawny system operacyjny. Możemy z niego korzystać jak z każdego systemu zainstalowanego na komputerze. Prawie na każdym systemie mamy okna, które możemy przesuwać po ekranie. Android też to posiada, dlatego poniżej zobaczysz, w jaki sposób stworzyć pływające okna w androidzie.  Można to wykorzystać w powiadomieniach, takie zastosowanie możemy znaleźć w aplikacji Messenger od Facebooka jako dymki. Zaczynajmy!

1. Przygotowania.

W przypadku wersji Androida API<=22 nie potrzebujemy żadnych uprawnień, natomiast w nowszym Androidzie musimy uzyskać uprawnienia, aby aplikacja mogła „rysować” widoki nad innymi aplikacjami. W pliku Manifest dodajemy:

a w kodzie aplikacji dodajemy coś takiego:

Musisz także zarejestrować usługę:

2. Przygotuj serwis.

Teraz musisz stworzyć klasę FloatWindowService, która będzie pracowała w tle. Rozszerz ją o klasę Service. Metoda onCreate() może wyglądać tak:

W pierwszej kolejności tworzymy menadżer okna wraz z parametrami, który ma się pojawić, dodajemy widok do menadżera (zmienna floatingWindow). Metoda setOnTouchListener() pozwala na przesuwanie elementu na ekranie. Za każdym razem, gdy użytkownik dotknie widoku, zarejestrujemy początkowe współrzędne X i Y, a kiedy użytkownik poruszy element, aplikacja obliczy nowe współrzędne X i Y i przeniesie widok w nowe miejsce.

3. Tworzenie widoku.

Tworząc pływające okna w androidzie, masz dwie opcję, albo za pomocą pliku xml jak każdy inny layout lub stworzyć programowo. Poniżej przedstawiam dwie metody przykładowe. Za pomocą XML:

lub programowo:

Nie zapomnij też o obsłudze przycisku, który zamknie okno i wyłączy usługę.

Efekt:

plywajace okna w androidzie

4. Podsumowanie.

To wszystkie kroki, które musisz wykonać, aby wyświetlić pływające okna w androidzie. Teraz stwórz własny projekt. Efekt fajny, ale pamiętaj, że ma swoje ograniczenia. Musisz zapytać użytkownika o uprawnienia. Warto przed ustawieniem uprawnień wyjaśnić użytkownikowi czemu potrzebujesz takich uprawnień.

Mam nadzieje, że ten wpis podobał Ci się Ciebie. Jeśli chcesz mi się odwdzięczyć, to wyślij link artykułu swoim znajomym lub udostępnij go dalej w sieciach społecznościowych za pomocą poniższych przycisków. Będę Ci za to bardzo wdzięczny i będzie mnie to motywowało do dalszej pracy. Zależy mi na tym, by docierać z moimi wpisami do jak największej liczby czytelników. Dzięki!

Miłego kodowania 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *