Autor Wątek: [How-To][DEV] Edycja domyślnego wyglądu pulpitów launchera  (Przeczytany 2026 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Wall-E

  • Core
  • *****
  • Podziękowań: 118
  • Nokia Lumia 1520 | Colorovo CityTab Supreme 10.1
[How-To][DEV] Edycja domyślnego wyglądu pulpitów launchera
« dnia: Sobota, 15 Grudzień 2012, 21:04 »
Jak wyczyścić pulpity launchera ze wszystkiego co tam domyślnie jest, opisał Phenom w tym wątku. I to jest dobre...

Ja skupię się na nieco ambitniejszej formie sprowadzania wyglądu pulpitów do poziomu naszych potrzeb, czyli edycji zawartości pulpitów.
Napiszę tutaj wszystko do czego sam doszedłem w tym temacie i myślę, że za wyjątkiem jednej niewiadomej która tutaj występuje, całe równanie będzie w miarę proste do rozwiązania.

Ze względu na różnorodność wszelkiego typu launcherów - ja ograniczę się do edycji wyglądu stockowego launchera z Galaxy S2. Myślę, że zasada będzie słuszna i dla innych launcherów - różnice w nazwach plików źródłowych nie powinny być zbyt dużą przeszkodą.



Gdzie znaleźć właściwe pliki, czyli gdzie kopać żeby wykopać.

Pliki xml opisujące jakie elementy zawierają pulpity, gdzie i jak są ułożone znaleźć można w folderze o nazwie res/xml/ w pliku launchera. Nazywają się one różnie w zależności od launchera jednak wiedząc czego się szuka, odnalezienie plików z właściwą zawartością nie będzie problemem.
Oczywiście plik launchera trzeba najpierw zdekompilować - pliki "wyjęte" z apki otwartej jakimś archiwizerem do niczego się nie przydadzą.

Zawartość folderu xml mojego launchera wygląda tak (JB 4.1.2 XXLSJ Leak):

default_application_order.xml
default_workspace.xml
default_workspace_cp.xml
default_workspace_simple.xml
default_workspace_wifi.xml


W tym przypadku nie miałem problemu ze zlokalizowaniem potrzebnego mi pliku - jest nim:

default_workspace.xml

... dla bezpieczeństwa - bo ma prawie identyczną zawartość - dołożyłem do tego plik:

default_workspace_wifi.xml



Jak wygląda nasz pulpit zapisany w xml, czyli literkowy pałer

Zawartość pliku default_workspace.xml, czyli cały wygląd pulpitów launchera zapisany w xml wygląda tak jak poniżej:

=============================================

<?xml version="1.0" encoding="utf-8"?>
<favorites
  xmlns:launcher="http://schemas.android.com/apk/res/com.sec.android.app.launcher">
   
   <home>
        <appwidget launcher:className="flipboard.widget.FlipboardWidgetMedium" launcher:packageName="flipboard.app" launcher:screen="2" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="2" />
        <favorite launcher:className="com.sec.pcw.hybrid.CloudApp" launcher:packageName="com.sec.pcw" launcher:screen="2" launcher:x="0" launcher:y="3" />
        <favorite launcher:className="com.dropbox.android.activity.DropboxBrowser" launcher:packageName="com.dropbox.android" launcher:screen="2" launcher:x="1" launcher:y="3" />
        <favorite launcher:className="com.sec.android.gallery3d.app.Gallery" launcher:packageName="com.sec.android.gallery3d" launcher:screen="2" launcher:x="2" launcher:y="3" />
        <favorite launcher:className="com.android.settings.Settings" launcher:packageName="com.android.settings" launcher:screen="2" launcher:x="3" launcher:y="3" />
        <sactivitywidget launcher:className="com.sec.android.widgetapp.ap.hero.accuweather.widget.WeatherClock" launcher:packageName="com.sec.android.widgetapp.ap.hero.accuweather.widget" launcher:screen="3" launcher:x="0" launcher:y="0" />
        <appwidget launcher:className="android.googleSearch.googleSearchWidget.GoogleSearchProvider" launcher:packageName="android.googleSearch.googleSearchWidget" launcher:screen="3" launcher:x="0" launcher:y="2" launcher:spanX="4" launcher:spanY="1" />
        <favorite launcher:className="com.sec.chaton.HomeActivity" launcher:packageName="com.sec.chaton" launcher:screen="3" launcher:x="0" launcher:y="3" />
        <favorite launcher:className="com.sec.android.app.camera.Camera" launcher:packageName="com.sec.android.app.camera" launcher:screen="3" launcher:x="1" launcher:y="3" />
        <favorite launcher:className="com.sec.android.app.samsungapps.Main" launcher:packageName="com.sec.android.app.samsungapps" launcher:screen="3" launcher:x="2" launcher:y="3" />
        <favorite launcher:className="com.android.vending.AssetBrowserActivity" launcher:packageName="com.android.vending" launcher:screen="3" launcher:x="3" launcher:y="3" />
        <appwidget launcher:className="com.samsung.videohub.widget.VideoHubWidget" launcher:packageName="com.samsung.videohub" launcher:screen="4" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="2" />
        <appwidget launcher:className="com.sec.android.app.music.appwidget.MusicAppWidgetProvider" launcher:packageName="com.sec.android.app.music" launcher:screen="4" launcher:x="0" launcher:y="2" launcher:spanX="4" launcher:spanY="2" />
        <appwidget launcher:className="com.tgrape.android.radar.widget.WidgetProvider" launcher:packageName="com.tgrape.android.radar" launcher:screen="5" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="4" />
    </home>
    <hotseat>
        <favorite launcher:className="com.android.contacts.activities.DialtactsActivity" launcher:packageName="com.android.contacts" launcher:screen="0" />
        <favorite launcher:className="com.android.contacts.activities.PeopleActivity" launcher:packageName="com.android.contacts" launcher:screen="1" />
        <favorite launcher:className="com.android.mms.ui.ConversationComposer" launcher:packageName="com.android.mms" launcher:screen="2" />
        <favorite launcher:className="com.android.browser.BrowserActivity" launcher:packageName="com.android.browser" launcher:screen="3" />
    </hotseat>
</favorites>


=============================================

Skomplikowane i całkowicie niezrozumiałe?
No... może się takie faktycznie wydawać - tym bardziej, że poszczególne wiersze kodu są tu "łamane" przez brak miejsca w szerokości posta - dlatego też pozwolę sobie nieco przetłumaczyć ten zapis, czyli jak mawiał wieszcz: Poloneza czas zacząć...



Wiedza podstawowa, czyli czemu warto chodzić do gimnazjum...

Zacznijmy od tego, że każdy z pulpitów launchera to swojego rodzaju siatka współrzędnych. Każdy pulpit jest podzielony na pola, których ilość - w zależności od launchera, jego modyfikacji czy czego tam jeszcze - może być, w pewnych granicach, różna. Standardem jest siatka 4x4 pola.
Ważne to jest o tyle, że wszystkie elementy rozmieszczane są wg współrzędnych tej właśnie siatki.

Aby zrozumieć dalszą część opisu należy wiedzieć (i zapamiętać) jeszcze kilka drobiazgów:
1. Powyższy kod dotyczy launchera z 7 pulpitami,
2. Elementy zajmują tylko 3 kolejne z 7 pulpitów launchera,
4. Siatka launchera to 4x4 pola.
Jest to dosyć ważne dla podstaw arytmetyki, które zaraz wprowadzimy.
Dla podstaw naszej "arytmetyki"... a może geometrii ... należy również rozróżniać pojęcia: "oś X" i "oś Y" - bo i takimi pojęciami trzeba się tu posługiwać.

Tak więc, standardowa siatka launchera wraz z oznaczeniem kolumn:

- dla osi X - wiersze (poziom)
- dla osi Y - kolumny (pion)

0 |1 |2 |3 |
1 |_ |_ |_ |
2 |_ |_ |_ |
3 |_ |_ |_ |

Jak widać - liczenie współrzędnych zawsze zaczynamy od 0 (słownie: ZERA) - trzeba o tym pamiętać bo o pomyłkę w liczeniu nie trudno.
(Pierwsza kolumna od lewej to 0, druga kolumna od lewej to 1 itd.
Pierwszy wiersz od góry to 0, drugi wiersz od góry to 1 itd.)


Z powyższego wynika, że współrzędną wyjściową jest lewy-górny narożnik pulpitu - 0 (zero) wspólne dla osi X i Y - i tego się trzymajmy bezkrytycznie.

Podobnie liczymy pulpity launchera (bez względu na ich ilość), czyli od lewej i od 0 (słownie: ZERA)
(Pierwszy ekran od lewej to 0, drugi ekran od lewej to 1 itd.)

Mając już podstawowe informacje możemy przejść dalej...



Konkrety, czyli "...i rozłożymy tą sukę na części." (użyty cytat pochodzi z filmu "Testosteron")

Cały kod jest podzielony de facto na dwa bloki - występują tutaj dwa główne tagi, które tego podziału dokonują:

<home> ... </home>
Wydziela blok opisujący zawartość i ułożenie elementów na wszystkich dostępnych pulpitach (ta część pulpitu, która się przewija).

<hotseat> ... </hotseat>
Wydziela blok opisujący zawartość dolnego paska skrótów (ta część pulpitu, która się nie przewija).

Dla rozjaśnienia sytuacji dokonajmy umownych podziałów w zapisie tego kodu xml. Zostaną w nim rozdzielone wcześniej wspomniane bloki, a w ich obrębie oddzielę od siebie poszczególne elementy - żeby się ze sobą nie zlewały. Każdy oddzielony blok tekstu to tak naprawdę jedna linia (jeden element) - jeśli masz odpowiednio szeroki monitor to sam się o tym przekonasz...
Linie znajdujące się NAD tagiem <home> generalnie nas dezinteresmą - być muszą i tego nie ruszamy. Podobnie z tagiem </favorites>, który zamyka całość kodu.

=============================================

<?xml version="1.0" encoding="utf-8"?>
<favorites
  xmlns:launcher="http://schemas.android.com/apk/res/com.sec.android.app.launcher">
   

<home>
        <appwidget launcher:className="flipboard.widget.FlipboardWidgetMedium" launcher:packageName="flipboard.app" launcher:screen="2" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="2" />

        <favorite launcher:className="com.sec.pcw.hybrid.CloudApp" launcher:packageName="com.sec.pcw" launcher:screen="2" launcher:x="0" launcher:y="3" />

        <favorite launcher:className="com.dropbox.android.activity.DropboxBrowser" launcher:packageName="com.dropbox.android" launcher:screen="2" launcher:x="1" launcher:y="3" />

        <favorite launcher:className="com.sec.android.gallery3d.app.Gallery" launcher:packageName="com.sec.android.gallery3d" launcher:screen="2" launcher:x="2" launcher:y="3" />

        <favorite launcher:className="com.android.settings.Settings" launcher:packageName="com.android.settings" launcher:screen="2" launcher:x="3" launcher:y="3" />

       <sactivitywidget launcher:className="com.sec.android.widgetapp.ap.hero.accuweather.widget.WeatherClock" launcher:packageName="com.sec.android.widgetapp.ap.hero.accuweather.widget" launcher:screen="3" launcher:x="0" launcher:y="0" />

        <appwidget launcher:className="android.googleSearch.googleSearchWidget.GoogleSearchProvider" launcher:packageName="android.googleSearch.googleSearchWidget" launcher:screen="3" launcher:x="0" launcher:y="2" launcher:spanX="4" launcher:spanY="1" />

        <favorite launcher:className="com.sec.chaton.HomeActivity" launcher:packageName="com.sec.chaton" launcher:screen="3" launcher:x="0" launcher:y="3" />

        <favorite launcher:className="com.sec.android.app.camera.Camera" launcher:packageName="com.sec.android.app.camera" launcher:screen="3" launcher:x="1" launcher:y="3" />

        <favorite launcher:className="com.sec.android.app.samsungapps.Main" launcher:packageName="com.sec.android.app.samsungapps" launcher:screen="3" launcher:x="2" launcher:y="3" />

        <favorite launcher:className="com.android.vending.AssetBrowserActivity" launcher:packageName="com.android.vending" launcher:screen="3" launcher:x="3" launcher:y="3" />

        <appwidget launcher:className="com.samsung.videohub.widget.VideoHubWidget" launcher:packageName="com.samsung.videohub" launcher:screen="4" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="2" />

        <appwidget launcher:className="com.sec.android.app.music.appwidget.MusicAppWidgetProvider" launcher:packageName="com.sec.android.app.music" launcher:screen="4" launcher:x="0" launcher:y="2" launcher:spanX="4" launcher:spanY="2" />

        <appwidget launcher:className="com.tgrape.android.radar.widget.WidgetProvider" launcher:packageName="com.tgrape.android.radar" launcher:screen="5" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="4" />
    </home>

    <hotseat>
        <favorite launcher:className="com.android.contacts.activities.DialtactsActivity" launcher:packageName="com.android.contacts" launcher:screen="0" />

        <favorite launcher:className="com.android.contacts.activities.PeopleActivity" launcher:packageName="com.android.contacts" launcher:screen="1" />

        <favorite launcher:className="com.android.mms.ui.ConversationComposer" launcher:packageName="com.android.mms" launcher:screen="2" />

        <favorite launcher:className="com.android.browser.BrowserActivity" launcher:packageName="com.android.browser" launcher:screen="3" />
    </hotseat>

</favorites>


=============================================

Odrobinę jaśniej? No to ciśniemy dalej...

W powyższym kodzie występują dwa (no... trzy) rodzaje elementów pulpitu.

Skróty
Pierwszym z nich jest: SKRÓT - czyli odnośnik do programu lub funkcji reprezentowany ikonką właściwą owemu programowi lub funkcji.
Skrót zajmuje jedno pole ekranu launchera (zawsze).
Tego typu obiekty są reprezentowane w kodzie xml jako zapis (początek linii):

<favorite ...

Przykładowy skrótu dla aplikacji Aparatu foto/Kamery:

<favorite launcher:className="com.sec.android.app.camera.Camera" launcher:packageName="com.sec.android.app.camera" launcher:screen="3" launcher:x="1" launcher:y="3" />

Elementy:

< - tag otwierający zapis obiektu w xml,

favorite - określa nam konkretny typ obiektu, w tym przypadku jest to skrót do aplikacji,

launcher:className="com.sec.android.app.camera.Camera" - klasa obiektu (plik *.smali) do której się odwołujemy.
W tym przypadku jest to plik Camera.smali znajdujący się w lokalizacji:

smali/com/sec/android/app/camera/

Tutaj następuje - wcześniej wspominana - dziura mentalna bo do dzisiaj nie dowiedziałem się skąd wziąć nazwę tego pliku.
O ile ścieżkę do pliku smali da się "zgadnąć" na podstawie nazwy aplikacji (z punktu następnego) o tyle z konkretnym plikiem może już być problem - w tej lokalizacji jest zawsze co najmniej kilka plików (czasami nawet kilkaset)...

W tym miejscu liczę, że znajdzie się ktoś, kto podsunie jakieś wskazówki odnośnie tego elementu.

launcher:packageName="com.sec.android.app.camera" - nazwa aplikacji do której się odwołujemy. Ową nazwę można najczęściej pobrać sobie z folderu data/data.

launcher:screen="3" - ekran na którym obiekt jest zlokalizowany (pamiętamy o "dziwnym" liczeniu kolejności ekranów).
UWAGA:
W przypadku elementów dolnego paska skrótów ( <hotseat> ... </hotseat> ) ten zapis jest jedną i jedyną opcją dla elementu. W odróżnieniu od "zwykłych" skrótów, tutaj określa on nam KOLEJNOŚĆ skrótów na pasku skrótów.
Pierwszy skrót od lewej to: launcher:screen="0"
Drugi skrót od lewej to: launcher:screen="1" itd.


launcher:x="1" - Współrzędna położenia X

launcher:y="3" - Współrzędna położenia Y

/> - tag zamykający opis obiektu w xml


Widżety
Drugim elementem pulpitu jest WIDŻET EKRANOWY (statyczny) - Widżet jest elementem graficznego interfejsu użytkownika danego systemu operacyjnego umożliwiającym komunikację tegoż systemu (lub konkretnego programu) z użytkownikiem. Widżety otrzymują komunikaty generowane przez system/program i wyświetlają ich prezentację na ekranie.
Widżety statyczne nie prezentują żadnych zmieniających się informacji pozyskiwanych z systemu czy aplikacji - są rozbudowanym i oferującym najczęściej różne funkcjonalne opcje, graficznym odnośnikiem to "jakiejś" funkcji systemu czy aplikacji z której pochodzą.
Widżet zajmuje dowolną ilość pól ekranu, ale nie większą niż maksymalna ilość wyznaczona przez siatkę współrzędnych. Niektóre widżety są skalowalne, niektóre mają jedną, z góry określoną wielkość.

Tego typu obiekty są reprezentowane w kodzie xml jako zapis (początek linii):

<appwidget ...

Przykładowy widżet aplikacji Flipboard:

<appwidget launcher:className="flipboard.widget.FlipboardWidgetMedium" launcher:packageName="flipboard.app" launcher:screen="2" launcher:x="0" launcher:y="0" launcher:spanX="4" launcher:spanY="2" />

Pominę elementy wspólne dla poprzedniego obiektu i wymienię tylko różnice:

launcher:spanX="4" - szerokość widżetu (ilość zajmowanych kolumn)

launcher:spanY="2" - wysokość widżetu (ilość zajmowanych wierszy)

Te wartości występują tylko w przypadku gdy widżet dysponuje funkcjonalnością zmiany rozmiaru - trzeba o tym pamiętać.


Trzeci element to WIDŻET EKRANOWY (dynamiczny) - tym różni się od statycznego widżetu, że wyświetla zmienne dane pozyskiwane ze swoich źródeł. Przykładem tego typu elementów są widżety pogodowe, widżety zegarów etc.

Tego typu obiekty są reprezentowane w kodzie xml jako zapis (początek linii):

<sactivitywidget ...

Elementy kodu stosuje się tak jak w widżecie statycznym.


To właściwie wszystko jeśli chodzi o rozkładanie tej su... ekhem... tego-tam na czynniki pierwsze.
Mam nadzieję, że cały "literkowy" zapis wyglądu pulpitów nabrał jakiegoś sensu.

Aha...
Jeszcze jedna ważna uwaga...

Obiekty na pulpitach (w zapisie xml) układa się "po kolei".
Znaczy to, że zapis zaczyna się od obiektu zlokalizowanego na współrzędnych 0x0 pierwszego (od lewej) "zajętego" ekranu.
Zapodany przykład zapisu bardzo dobrze ilustruje tą zależność. Ważne jest to o tyle, że nie istnieje tutaj żadne inne wydzielenie pulpitów jak tylko przypisanie obiektu (do konkretnego pulpitu) poprzez zmienną launcher:screen="X".


Aplikujemy, czyli kroplówka dla nieboszczyka

Przez wzgląd na wcześniej wspominaną "dziurę mentalną", w modyfikacjach wyglądu i zawartości pulpitów używam zapisów, które mam do dyspozycji w już modyfikowanych launcherach - dekompiluję je sobie i podglądam.
Sorka, ale androidowy światek jest bardziej hermetyczny niż słoik z czteroletnimi konfiturami i nie idzie się dowiedzieć kompletnie NIC - wszystko cza robić metodą prób-i-błędów lub podglądać modyfikacje już udostępnione publicznie...
To tak gwoli usprawiedliwienia za niepełne informacje w temacie.

No ale OK. Co się zaczęło to czas skończyć.
Po wprowadzeniu właściwych poprawek do odpowiednich plików xml całą apkę launchera należy ponownie skompilować jako aplikację systemową i podpisać.
Kompilując plik, robimy to wg zaleceń z wątku Phenoma:

http://www.modaco.pl/Thread-How-To-Przerabianie-trudnych-frameworkow

... oraz dodatkowo usuwamy dwa zmodyfikowane wcześniej pliki xml.

Po kompilacji i podpisaniu pliku launchera, otwieramy nowy oraz oryginalny plik launchera jakimś archiwizerem danych (ja polecam 7-zip) i przenosimy właściwe pliki z jednego okna do drugiego.

Jeśli wszystkie zmiany zostały zweryfikowane pozytywnie - znaczy... są zgodne ze wszystkimi zasadami, to po romowaniu nasz launcher powinien wyglądać tak, jak tego sobie życzymy.
Świadomie używam określenia "po romowaniu" bo doinstalowanie modyfikowanego launchera do już działającego romu nie zmieni praktycznie nic.

W tym miejscu kończę (na tą chwilę) swoje dywagacje i oczekuję konstruktywnej krytyki oraz informacji uzupełniających...



Informacje do uzupełnienia, czyli głąb kapuściany jestem i tyle...

- "Dziura mentalna" (skąd wziąć właściwe nazwy plików smali)
- Ustawianie domyślnej ilości ekranów w launcherze.


Niemniej, mimo powyższych ułomności artykułu życzę owocnych eksperymentów.
« Ostatnia zmiana: Niedziela, 16 Grudzień 2012, 16:46 wysłana przez Wall-E »

Offline mobi

  • Administrator
  • Core
  • *****
  • Podziękowań: 351
  • HTC Wizard/HTC HD2/HTC Kaiser/SGS3/HTC ONE E8
Odp: [How-To] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #1 dnia: Niedziela, 16 Grudzień 2012, 00:21 »
poszłeś po bandzie, na pierwszy rzut oka, to totalna chińszczyzna, jakbym cofnął się do batterystatusa i edycji jego plików konfiguracyjnych włącznie z tym przepięknym tutorialem autora, który był zawsze dla mnie wielka zagadką :)
Chylę czoła



Offline Wall-E

  • Core
  • *****
  • Podziękowań: 118
  • Nokia Lumia 1520 | Colorovo CityTab Supreme 10.1
Odp: [How-To] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #2 dnia: Niedziela, 16 Grudzień 2012, 14:51 »
poszłeś po bandzie, na pierwszy rzut oka, to totalna chińszczyzna, jakbym cofnął się do batterystatusa i edycji jego plików konfiguracyjnych włącznie z tym przepięknym tutorialem autora, który był zawsze dla mnie wielka zagadką

Znaczy jak... bo nie kumnąłem... że za skomplikowany opis?  ?-?
I czemu "poszedłem po bandzie"?

Ten właśnie problem nie dawał mi spać od kilku miesięcy a wszelakie próby wydobycia jakiegoś infa od andkowych "deweloperów" dały efekt podobny do rzucania żelazkiem o ścianę... Czyli generalnie żaden.
Dlatego praktycznie sam rozgryzłem ten temat (z czego jestem dumny i blady) i uważam, że warto jest zapisać moje przemyślenia dla potomności  :p
Że wygląda jak "chińszczyzna"... No cóż... Ja tego nie umiałem opisać w sposób jeszcze łatwiejszy... a i sam temat nie jest przeznaczony dla każdego. Jakieś podstawy trzeba już ogarniać, rozumieć pewne określenia...  ;)


BTW...

Aktualizacja
  • Uzupełnienie opisu elementu "skrót": launcher:className.
    Częściowe rozwiązanie problemu "niewiedzy".
  • Uzupełnienie opisu elementu "skrót": launcher:screen.
  • Uzupełnienie części dotyczącej kompilowania apki.

Offline mobi

  • Administrator
  • Core
  • *****
  • Podziękowań: 351
  • HTC Wizard/HTC HD2/HTC Kaiser/SGS3/HTC ONE E8
Odp: [How-To] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #3 dnia: Niedziela, 16 Grudzień 2012, 16:29 »
Mój wpis, to żaden zrzut, opis jak najbardziej ok, ale jego wygląd (robaczki), struktura danych (x,y,z) przypomina mi zabawy z BSem, czy one były złe? absolutnie nie, to była swego czasu niezła zabawa, i niezła walka z materią, lepsze od szachów jak dla mnie ;)
Całość budzi podziw ale i za razem zdziwienie, że komuś się chciało to rozkminić + za właśnie pasję



Offline Wall-E

  • Core
  • *****
  • Podziękowań: 118
  • Nokia Lumia 1520 | Colorovo CityTab Supreme 10.1
Odp: [How-To] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #4 dnia: Niedziela, 16 Grudzień 2012, 16:34 »
Aaaaaa... BS/HS++ to było to, co tygryski lubią...  :peace:

Offline mobi

  • Administrator
  • Core
  • *****
  • Podziękowań: 351
  • HTC Wizard/HTC HD2/HTC Kaiser/SGS3/HTC ONE E8
Odp: [How-To][DEV] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #5 dnia: Niedziela, 16 Grudzień 2012, 17:14 »
Jakoś stałem się skrótowomyślącopiszący, BS/HS++ ten wykład mi przypomniał o tamtych czasach :)



Offline ★tomaszkap★

  • GZU
  • Core
  • ****
  • Podziękowań: 29
  • [Avatar-Sawyer]TAB 10.1,SamsungGalaxySII,MSI Wind
Odp: [How-To][DEV] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #6 dnia: Niedziela, 16 Grudzień 2012, 19:39 »
Wszystko fajnie, bo potrzeba jest matką wynalazków. Za rozkminienie i opisanie respect  :peace: Ja osobiście nie skorzystam, bo jak mi TouchWiz nie spasuje to zmienię launcher :) Naprawdę nie widzę siebie w grzebaniu tylko żeby zmienić kilka rzeczy - jakoś nie widzę zastosowania u siebie  ?-?
pacnij mnie
Samsung Galaxy SII 16GB i Samsung Galaxy Tab 10.1 16gb -  JellyBeanRom ICS by Toldo

Offline Wall-E

  • Core
  • *****
  • Podziękowań: 118
  • Nokia Lumia 1520 | Colorovo CityTab Supreme 10.1
Odp: [How-To][DEV] Edycja domyślnego wyglądu pulpitów launchera
« Odpowiedź #7 dnia: Niedziela, 16 Grudzień 2012, 19:59 »
Hmmmmm...  ?-?

Fakt, uzasadnić jest to ciężko, ale spróbuję...

Każdy TW - czy to stockowy, czy to z customa jest skonfigurowany w jakiś sposób - ma swoje ikonki, widżety i inne cuda... Jeśli ja robię customa ze stocka - to wiadomym jest, że będę rżnął zbędne apki. W tym miejscu nadmienić trzeba, że na pulpicie TW większa część skrótów i widżetów należy do grupy tych zbędnych.
Finalnym efektem tego działania (rżnięcia apek) jest pulpit upstrzony "losowo" rozrzuconymi ikonkami i widżetami - to co usunięte znikło z pulpitu. Moim zdaniem nie ma to ani wyglądu ani sensu - no wygląda to-to coś jak nie przymierzając kupa Reksa  >:(
I jest tu bez znaczenia czy ja TW używam czy nie. TW dostaję po pierwszym starcie systemu i chcę by to wyglądało jakoś schludnie :)
Nawet jeśli wgotuję inny launcher to "problem" i tak najczęściej nie znika - jego też muszę w jakiś sensowny sposób uporządkować. :)

A tak swoją drogą... Jak już się temat ogarnie to cały proces zajmuje 10... może 15 minut :)
« Ostatnia zmiana: Niedziela, 16 Grudzień 2012, 20:04 wysłana przez Wall-E »