Skocz do zawartości
glaedrem

Poradnik o edycji motywów dla MIUI

    Rekomendowane odpowiedzi

    Na początek o instalacji motywu

    Każdy plik motywu dla MIUI powinien posiadać rozszerzenie .mtz. Czasem zdarza się, że autor motywu uprzedni pakuje go w archiwum ZIP lub RAR, nalezy je więc rozpakować, by ujrzeć sam plik MTZ

    1. Przenosimy wybrany motyw na kartę naszego telefonu - /sdcard/MIUI/theme
    2. W telefonie udajemy się do aplikacji Motywy (Theme Manager)
    3. Jeśli wgrałeś motyw ingerujący w framework-res, to pojawi się on od razu w pierwszym oknie aplikacji i można go zastosować. Jeśli jest to na przykład motyw lockscreen'a, klikamy "Dostosuj motyw".
    4. Przechodzimy do "Ekran blokady" i z kafelkowej listy wybieramy interesujący nas motyw.

    Jak edytować motywy dla MIUI?

    W kilku krokach, postaram się opisac podstawowy proces edycji motywów dla MIUI. Po pierwsze, wybieramy sobie jakiś motyw, lockscreen, generalnie może to być wszystko z rozszerzeniem .mtz. Ściągamy paczkę na dysk i zabieramy się do edycji. Będziemy korzystać z kompresora plików (np. WinRAR) oraz edytora tekstu (np NotePad++).

    1. Plik .mtz to nic innego jak archiwum ZIP, tyle że o zmienionym rozszerzeniu. Wystarczy więc zmienić rozszerzenie ***.mtz na ***.zip i rozpakowac paczkę za pomocą WinRARa. Aby zmienić rozszerzenie pliku w Windowsie, trzeba odblokować takową opcję w eksploatorze systemu.
      post-15143-14255701008528_thumb.png


    2. Przechodzimy do rozpakowanej paczki. Ujrzymy tam kilka plików i katalogów, w zalezności od rodzaju motywu. Nas w tym przypadku interesuje edycja lockscreen'a. Jeśli motyw jest przygotowany według najnowszych standardów MIUI, zobaczycie plik "lockscreen" bez żadnego rozszerzenia. Należy nadać mu rozszerzenie .zip i rozpakować. Jeśli jest to stary motyw, to ujrzycie od razu katalog lockscreen, do którego teraz przejdziemy.
      post-15143-14255701008802_thumb.png
      post-15143-1425570100907_thumb.png


    3. W katalogu lockscreen, powinien znajdować się plik theme_values.xml (opisze go później) - nie jest on konieczny, ale pozwala na dodatkową konfiguracje lockscreena - oraz katalog /advance/.
    4. W katalogu /advance/ znajdziemy wszystkie elementy, z których korzysta nasz lockscreen. Przede wszystkim będą to obrazki oraz plik manifest.xml, który tworzy strukturę lockscreen'a. Po jego edycji, warto zapisac plik w standardzie UTF-8 (bez sygnatury BOM) - ewentualnie użyte polskie znaki, nie pojawią się później jako krzaki.
      post-15143-14255701009258_thumb.png


    5. Gdy skończymy i zapiszemy zmiany w manifest.xml, cofamy się do położenia z punktu 3. Zaznaczamy myszką theme_values.xml i /advance/, klikamy PPM i z rozwiniętego okna wybieramy "Dodaj do archiwum". Koniecznie musimy zastosować następujące ustawienia: Nazwa archiwum – lockscreen.zip; Format arciwum – .zip; Metoda kompresji – bez kompresji.
    6. Przenosimy tak powstały plik lockscreen.zip do głównego katalogu motywu.
    7. Usuwamy katalog /lockscreen/ powstały w punkcie 2.
    8. Zmieniamy nazwę lockscreen.zip usuwając z niej rozszerzenie .zip - w efekcie powstanie taki sam plik, jaki był widoczny po pierwszym rozpakowaniu paczki.
    9. Powtarzamy procedurę z pkt. 5. Tym razem zaznaczamy wszystkie pliki znajdujące się w głównym katalogu motywu i pakujemy je do .zip z takimi samymi ustawieniami, co poprzednio.
    10. Zmieniamy rozszerzenie powstałej paczki z .zip na .mtz.
    11. Motyw jest gotowy do użycia w MIUI, wystarczy go umieścić na karcie w katalogu /MIUI/theme/

    O edycji pliku theme_values.xml [Lockscreen]

    Plik ten odpowiada za elementy, które będą dozwolone na górnym pasku notyfikacji w widoku lockscreena. Domyślnie znajduje się tam m. in. poziom baterii, zasięg, ikonka WiFi. Możemy każdy z tych elementów wykluczyć, tak by nie pojawiał się w naszym lockscreenie.

    Oto schemat układu pliku theme_values.xml. Nas interesuje "false" pojawiające się przed domknięciem znaczika </bool>. "False" blokuje wyświetlanie danego elementu, podczas gdy użycie "True" pozwala na jego wyświetlenie. Tak jak pisałem wcześniej, theme_values.xml nie zawsze znajduje się w katalogu /lockscreen/. Wtedy automatycznie zostają zastosowane domyślne ustawienia. Dorzucając plik, wymuszamy własne.

    <MIUI_Theme_Values>
       <bool name="config_show_status_bar_battery_for_keyguard">false</bool>
       <bool name="config_show_status_bar_carrier_for_keyguard">false</bool>
       <bool name="config_show_status_bar_date_for_keyguard">false</bool>
       <bool name="config_show_status_bar_notification_for_keyguard">false</bool>
       <bool name="config_show_status_bar_status_for_keyguard">false</bool>
       <bool name="config_show_status_bar_time_for_keyguard">false</bool>
       <bool name="config_lock_screen_battery_animation_horizontal">false</bool>
    </MIUI_Theme_Values>

    <bool name="config_show_status_bar_battery_for_keyguard">false</bool>

    Ikona poziomu baterii. False = ukryta / True = widoczna

    <bool name="config_show_status_bar_carrier_for_keyguard">false</bool>

    Odpowiada za logo operatora, w lewym rogu ekranu.

    <bool name="config_show_status_bar_date_for_keyguard">false</bool>

    Wyświetlanie dzisiejszej daty

    <bool name="config_show_status_bar_notification_for_keyguard">false</bool>

    Ikonki powiadomień, na przykład o podłączeniu USB.

    <bool name="config_show_status_bar_status_for_keyguard">false</bool>

    Pokazuje siłę sygnału, połączenie 1x/2G/3G/4G, Wifi, Bluetooth, ikonkę Muzyki.

    <bool name="config_show_status_bar_time_for_keyguard">false</bool>

    Obecny czas

    <bool name="config_lock_screen_battery_animation_horizontal">false</bool>

    Za pomocą tej linii, możemy wyświetlić lub ukryć linię stanu baterii - może ona pojawić się na samej górze ekranu. Zależnie od stanu baterii, linii ubywa.

    Po zakończeniu edycji, zapisujemy plik.

    Jak odnaleźć class danej aplikacji [Lockscreen]

    Jeśli będziesz chciał dodać w lockscreenie skrót do jakiejś aplikacji, będziesz musiał ustalić dla niej class="". Jedną z metod jest użycie aplikacji LauncherPRO, dostepnej w Markecie.

    1. Instalujemy aplikację, otwieramy jakieś nowe okno. Pojawi się popup z "Zakończ działanie przy pomocy..." wybieramy LauncherPro
    2. Tworzymy skrót na pulpicie, przytrzymując ekran na kilka sekund. Z okna które się pojawi wybieramy "Skrót"
    3. Teraz wybieramy rodzaj skrótu - "Activities". Pojawi się lista wszystkich aplikacji, które posiadasz w telefonie. Ja odnajde klasę dla głównego okna aplikacji Aparat.
    4. Klikamy na Aparat, pojawi nam się lista kilku pozycji klas dla aplikacji aparat.
    5. Za główne widok Aparatu odpowiada com.miui.camera.Camera.
    6. Teraz możemy zastosować śmiało class="com.miui.camera.Camera" w manifest.xml naszego lockscreena. Skrót będzie przenosił nas do aplikacji Aparat.

    Pomocne rzeczy

    • Aby nie bawić się w ciągłe zmienianie .mtz na .zip i odwrotnie, wystarczy w opcjach naszego kompresora, dodać skojarzenie dla rozszerzenia .mtz
    • Aby widziane powyżej widgety pokazujące pogodę działały, koniecznie jest posiadanie aplikacji GenieWidget. Aplikacja jest automatycznie dodawana do spolszczeń MIUI dostępnych na ######

    Przydatne linki

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Podstawowy układ paczki danego motywu (oficjalna specyfikacja):

    description.xml (plik konfiguracyjny motywu)
    com.android.contacts (dialer i kontakty)
    com.android.deskclock (alarm)
    com.android.fileexplorer (menadżer plików)
    com.android.gallery (galeria)
    com.android.launcher (pulpit)
    com.android.mms (SMS)
    com.android.monitor (monitor aplikacji)
    com.android.phone (interfejs połączenia)
    
    com.android.settings (ustawienia)
    com.android.systemui (pasek notyfikacji)
    com.android.thememanager (Motywy)
    com.android.updater (aktualizator systemu)
    com.miui.backup (kopia systemu)
    com.miui.camera (kamera)
    com.miui.player (muzyka)
    framework-res (zasoby systemu)
    --theme_values.xml (profile kolorów) -- znajduje się w framework-res // Te kolory kontrolowane są przez systemui.apk, więc nalezy zdekompilować aplikację i tam wprowadzać zmiany //
    
    icons (ikony)
    lockscreen (ekran blokady)
    preview (podgląd danego motywu)
    fonts (czcionki) // nowa czcionka musi mieć nazwę Arial.ttf //
    
    ringtones (dźwięki)
    --Alarm (alarm)
    --Notification (dźwięki powiadomień)
    --Ringtone (dzwonki)
    
    boots (ekran bootowania)
    --Bootaudio
    --Bootanimation


    Tworzymy własnie logo operatora (Carrier Logo)

    Poniższe kroki pokazują jak stworzyć paczkę z samym logo, które pojawi się w miejscu operatora. Jeśli korzystasz z innego niż domyślny motyw, to tak stworzona paczka nadpisze ustawienia Twojego motywu, a statusbar powróci do ustawień domyślnych. Aby dostosować logo do swojego motywu, przeczytaj kolejny poradnik.

    Aby zastosować motyw należy posiadać modyfikacje StatusBar z następującymi opcjami: MIUI Control Panel › Pasek statusu › Operator › Pokaż operatora (włączone) i wyświetl logo operatora (włączone). Modyfikacja jest automatycznie dodawana do spolszczeń od ######

    1. Pobieramy plik czysty.zip. Stworzyłem szablon, na podstawie którego można budować własną paczkę loga operatora. Rozpakuj ją, a zobaczysz katalogi z poniższego screena.
      post-15143-1425570102621_thumb.png


    2. W /preview/ możemy umieścić podgląd motywu, który pojawi się potem w aplikacji Motywy. Obrazek nazywamy preview_statusbar_0.png (każdy kolejny, to kolejna cyfra w miejscu 0)
    3. W description.xml zamieszczamy informacje o nazwie motywu i jej autorze.
    4. Przechodzimy do com.android\res\drawable-hdpi gdzie znajduje się obrazek carrier_logo.png o rozmiarach 133x40px. Wasze logo może być nieznacznie szersze, ale nie powinno być wyższe niż 40px.
    5. Nadpisujemy obrazek carrier_logo.png własnym, który chcemy ujrzeć później w naszym systemie.
    6. Cofamy się do katalogu \com.android\ tak by widzieć w oknie tylko katalog \res\. Teraz musimy go spakować, klikamy na niego PPM i z rozwiniętego okna wybieramy "Dodaj do archiwum". Koniecznie musimy zastosować następujące ustawienia: Nazwa archiwum – com.android.systemui; Format arciwum – .zip; Metoda kompresji – bez kompresji.
    7. Powstaje plik com.android.systemui.zip, edytujemy jego nazwe i usuwamy rozszerzenie .zip.
    8. Plik com.android.systemui przenosimy do głównego katalogu motywu.
    9. Zaznaczamy wszystkie tam widoczne pliki i uruchamiamy "Dodaj do archiwum" z pkt. 6. Nazwe podajemy dowolną, ale z rozszerzeniem .mtz -> na przykład motyw.mtz
    10. Przenosimy paczkę do katalogu /sdcard/MIUI/theme i w aplikacji Motywy nawigujemy do ustawień Paska statusu.

    W taki sam sposób, możemy zmienić wszystkie obrazki znajdujące się w obrębie statusbaru. Tworzymy obrazek o odpowiedniej nazwie, następnie wrzucamy go tam gdzie carrier_logo.png i pakujemy paczkę. Poniżej kilka przykładowych nazw plików.

    post-15143-14255701025075_thumb.png

    Obrazki dla statusu baterii umieszcza się w com.android.systemui\res\raw w formie sprite'a - jeden obrazek zawierający inne.

    post-15143-14255701026964_thumb.png

    stat_sys_battery.png - ikony baterii bez ładowania; stat_sys_battery_charge.png - ikony baterii gdy ładowanie; stat_sys_battery_number.png - ikony baterii gdy mamy włączony procentowy wskaźnik baterii

    TUTAJ znajdziecie przykładową paczkę zawierającą wszystkie możliwe konfiguracje com.android.systemui. Można na niej budować motywy ;)

    Za pozostałe ikony pojawiające się na pasku notyfikacji - na przykład przychodzącego połączenia, odpowiada plik framework-res.

    Paczki z polskimi operatorami są dostępne tutaj: StatusBar: Logo polskich operatorów


    Dodatkowe ustawienia kolorów związanych z paskiem notyfikacji, uzyskamy tworząc w katalogu /com.android.systemui/ plik theme_values.xml. Oto przykładowy wygląd pliku:

    <?xml version="1.0" encoding="utf-8" ?>
    <MIUI_Theme_Values>
    <color name="status_bar_background_transparent">#66000000 </color>
    <color name="status_bar_textColor_alternative">#66ffffff</color>
    <color name="tab_lable_color_p">#ff1a6bd0</color>
    <color name="tab_lable_color_n">#ff505664</color>
    </MIUI_Theme_Values>


    Jak podmienić logo w niestandardowym motywie dla MIUI?

    Dzieje się tak ponieważ przygotowane przez nas paczki nadpisują plik com.android.systemui znajdujący się w każdym motywie dla MIUI, który zawiera własne ustawienia statusbara. Musimy zmodyfikować ten plik i dodać do niego pożądane logo – carrier_logo.png. Zaczynajmy!

    Przydatne, jeśli chcesz zachować obecny motyw, ale zmienić w nim tylko logo.

    1. Rozpakowujemy wybrany motyw np. iPhone 7.0 (zmieniamy rozszerzenie .mtz na .zip, lub dodajemy rozszerzenie .mtz do skojarzeń kompresora plików)
    2. Z rozpakowanych plików wyszukujemy com.android.systemui i rozpakowujemy tak jak powyżej
    3. W rozpakowanym folderze nawigujemy do \res\drawable-hdpi\
    4. Pierwsze trzy kroki powtarzamy dla pliku .mtz z wybranym logiem operatora (np. LogoOperatora-miuipolska.mtz – rozpakowujemy i przechodzimy do tegoż samego folderu
    5. Z naszej paczki przenosimy carrier_logo.png do folderu com.android\res\drawable-hdpi\ motywu iPhone 7.0. Możemy już zamknąć okienko z LogoOperatora-miuipolska.mtz.
    6. Cofamy się bezpośrednio do folderu \com.android\, tak by w okienku widzieć folder \res\
    7. Teraz musimy spakować folder \res\. W przypadku WinRAR wystarczy kliknąć PPM na folder i wybrać Dodaj do arciwum. Wybieramy: Nazwa archiwum – com.android.systemui; Format arciwum – .zip; Metoda kompresji – bez kompresji.
    8. Klikamy przycisk OK i w folderze \com.android\ powinien pojawić się spakowany plik com.android.systemui
    9. Przenosimy plik com.android.systemui do głównego folderu motywu, a \com.android\ usuwamy.
    10. Jak w punkcie 7. Zaznaczamy wszystkie pliki w głównym folderze motywu i pakujemy je tak samo, jak w poprzednim przypadku. Nazwa archiwum jest dowolna, ważne by kończyło się rozszerzeniem .mtz
    11. Tak zmodyfikowany motyw możemy użyć w aplikacji Motywy


    Edycja kolorów, używanych przez aplikacje działające w trybie natywnym

    Do modyfikacji tych ustawień możemy dostać się przez edycję pliku theme_values.xml znajdującego się w com.android.launcher danego motywu. Oto "pełne możliwości" konfiguracyjne theme_values.xml

    <?xml version="1.0" encoding="utf-8" ?>
    
    <MIUI_Theme_Values>
    <color name="window_background">#ff191919</color>
    <color name="grid_dark_background">#eb191919</color>
    <color name="bubble_dark_background">#b2191919</color>
    <color name="delete_color_filter">#a5ff0000</color>
    <color name="hotseat_color_filter">#a500ff00</color>
    <color name="appwidget_error_color">#ffcccccc</color>
    <color name="snag_callout_color">#ff444444</color>
    <color name="gesture_color">#ff0563c1</color>
    <color name="uncertain_gesture_color">#ff848484</color>
    <color name="editing_background">#99000000</color>
    <color name="workspace_preview_background">#99000000</color>
    <color name="white_30_transparent">#55ffffff</color>
    <color name="white_40_transparent">#64ffffff</color>
    <color name="white_50_transparent">#80ffffff</color>
    <color name="lyric_shadow_color">#ff0084ff</color>
    <color name="icon_title_text">#00000000</color>
    <color name="icon_title_text_shadow">#00000000</color>
    <color name="icon_message_text">#ffffffff</color>
    <color name="folder_title_text">#ffffffff</color>
    <color name="folder_title_text_shadow">#50000000</color>
    <color name="folder_setting_remane_text">#ffcccccc</color>
    <color name="folder_setting_checkbox_text">#ff333333</color>
    <color name="folder_setting_list_text_pressed">#ffffffff</color>
    <color name="folder_setting_list_text_selected">#ffffffff </color>
    <color name="folder_setting_list_enabled">#80333333</color>
    <color name="folder_setting_list_default">#ff333333</color>
    <color name="user_folder_password_text">#ff3366cc</color>
    <color name="user_folder_hidden_btn_text">#ff3366cc</color>
    <color name="icon_shadow">#99333333</color>
    </MIUI_Theme_Values>

    Dlaczego kolory są tak dziwnie zapisane? Pierwsze dwie cyfry to kod Alpha - odpowiada za przezroczystość danego koloru (od FF do 00, przy czym 00 oznacza pełną transparentność). Kolejne sześć cyfr do standardowy kod HEX.


    Pobieralnia:

    post-15143-14255701026576_thumb.png

    Edytowane przez glaedrem

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    [kolejna rezerwacja]

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Dulo

    Mam pytanie. Są trzy pliki statusbara: status_bar_background_transparent.9.png; statusbar_background.9.png i statusbar_background_alternative.9.png. Który odpowiada za statusbar wyświetlany na pulpicie i w menu/aplikacjach?? Chciałbym statusbar po rozsunięciu paska powiadomień zostawić oryginalny.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Za rozsunięty pasek odpowiada plik statusbar_background_alternative.9.png (o ile się nie mylę, bo odpowiadam z głowy). Zapewne jeśli w Twoim nowym motywie pliku statusbar_background_alternative.9.png w ogóle nie będzie, to ustawi się domyślny.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Dulo

    Da się zrobić tak, że ikonki na statusbarze są inne po jego dotknięciu/rozsunięci i inne gdy jest normalnie wyświetlany.

    Już wiem chyba jak to zrobić. Trzeba chyba dopisać _alternative do każdego pliku, ale nie wiem gdzie dorwać oryginalny motyw z MIUI.

    Edytowane przez Dulo

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Adeq

    pytanko z mojej strony:

    większość lockscreenów (jak nie wszystkie) są na rozdzielczość 800x480 i jest problem na urządzeniach z rozdziałką 854x480 gdyż od dołu jest martwa strefa (na wysokość 54p, nie działa tam dotyk)

    przez to jest problem np. ze sterowaniem muzyką jeśli jest na dole lub co gorsza z suwakiem do odblokowywania na niektórych ls

    czy da się jakoś edytować ls żeby to naprawić?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Witam. Mam takie pytanie. Zainstalowałem MIUI 1.12.30 i chciałbym edytować motyw który jest standardowo w tym romie... Czy jest jakaś możliwość wyciągnięcia go? A jeżeli nie to jak edytować plik "icons" w którym są wszystkie ikony? Pobrałem go, wypakowałe, podmieniłem ikonki i ponownie spakowałem, zmieniając .zip na .mtz ale coś nie gra... Pomoże ktoś?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Dulo

    Musisz rozpakowac rom. Tak najlatwiej sie do niego dostac.

    Tapniete z Galaxy S II - Tapatalk

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    No, ok ale gdzie on się znajduje jak już rozpakuje rom. Ale to już nawet może być mniej ważne, bo nie da się nic wrzucić do pliku "cions" a w nim są ikonki które chcę podmienić (np. ikonkę gmaila). Nie wiem co to za plik, bo windows nie pokazuje przy nim żadnego rozszerzenia...

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x