Przy edycji framework-res.apk i innych plików Androida sporo problemów sprawiają pliki graficzne z końcówką *.9.png. Nie wystarczy zwyczajne przerobienie w programie graficznym. Sprawa jest ciut bardziej skomplikowana ale nie awykonalna. Do dzieła.
Co jest potrzebne:
SDK Androida:
http://www.modaco.pl/Thread-Instalacja-SDK-Android
Kompilator:
wersja 64 - bitowa:
wersja 32 - bitowa:
Jako przykład modyfikacji posłuży Genie Widget, docelowy wygląd smoked glass z czerwonym gradientowym podświetleniem.
1. Otwieramy plik apk z Genie widget (przy pomocy 7zipa), z folderu res/drawable-hdpi wyciągamy wszystkie pliki z zakończeniem *.9.png, które będziemy modyfikować.
![[Obrazek: 1.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/1.jpg)
2. Pliki *.9.png przenosimy do folderu na pulpicie i nazywamy go "genie widget".
![[Obrazek: 2.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/2.jpg)
3. Przy pomocy ulubionego edytora, np. Gimpa, przerabiamy grafiki wedle uznania, następnie zapisujemy pod tą samą nazwą i w tym samym formacie.
![[Obrazek: 4.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/4.jpg)
4. Gdy już zakończymy edycję, klikamy na każdym pliku prawym klawiszem, wybieramy Otwórz za pomocą i wybieramy draw9patch.bat, który znajduje się w folderze SDK\tools.
![[Obrazek: 7.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/7.jpg)
5. W programie draw9patch.bat możemy edytować wyłącznie granicę 1px obrazka, reszta pozostaje nietknięta.
![[Obrazek: 8.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/8.jpg)
6. Zaznaczenie dolnych checkboxów spowoduje wyświetlenie wszystkich patchów. Górna i lewa granica (czarna linia na screenie) determinują gdzie grafika będzie rozciągnięta. Dolna i prawa granica determinuje gdzie może zostać umieszczona zawartość grafiki (napis, itp.)(widoczne na niebiesko w prawej części okna).
![[Obrazek: 9.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/9.jpg)
7. Powtarzamy ww. czynności z każdą grafiką. Należy pamiętać aby nie zaznaczać rozciągniecia na zaokrąglonych brzegach albo jakichkolwiek innych elementach umieszczonych w grafice (tylko proste krawędzie). Aby zapisać klikamy File/Save
![[Obrazek: 10.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/10.jpg)
8. Rozpakowujemy Kompilator do folderu. Wewnątrz znajdziemy foldery example1, example2 i music oraz ikonę. Otwieramy example1/res/drawable-hdpi i usuwamy stamtąd wszystkie grafiki (albo przenosimy gdziekolwiek). Teraz wrzucamy do tego folderu wszystkie wyedytowane i spatchowane wcześniej grafiki. Teraz wracamy do głównego folderu z Kompilatorem i klikamy dwukrotnie ikonę, pojawi się okno linii komend i po kilku sekundach pojawi się folder o nazwie "done". W środku znajduje się folder example1 wraz z finalnie przerobionymi grafikami. Teraz wystarczy te grafiki wrzucić spowrotem do pliku apk.
![[Obrazek: 12.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/12.jpg)
Źródło: http://www.droidforums.net/forum/droid-f...-pngs.html
Co jest potrzebne:
SDK Androida:
http://www.modaco.pl/Thread-Instalacja-SDK-Android
Kompilator:
wersja 64 - bitowa:
Kod:
http://www.xeudoxus.com/android/xUltimate-d9pc-x64.zip
wersja 32 - bitowa:
Kod:
http://www.xeudoxus.com/android/xUltimate-d9pc-x86.zip
Jako przykład modyfikacji posłuży Genie Widget, docelowy wygląd smoked glass z czerwonym gradientowym podświetleniem.
1. Otwieramy plik apk z Genie widget (przy pomocy 7zipa), z folderu res/drawable-hdpi wyciągamy wszystkie pliki z zakończeniem *.9.png, które będziemy modyfikować.
![[Obrazek: 1.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/1.jpg)
2. Pliki *.9.png przenosimy do folderu na pulpicie i nazywamy go "genie widget".
![[Obrazek: 2.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/2.jpg)
3. Przy pomocy ulubionego edytora, np. Gimpa, przerabiamy grafiki wedle uznania, następnie zapisujemy pod tą samą nazwą i w tym samym formacie.
![[Obrazek: 3.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/3.jpg)
![[Obrazek: 4.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/4.jpg)
4. Gdy już zakończymy edycję, klikamy na każdym pliku prawym klawiszem, wybieramy Otwórz za pomocą i wybieramy draw9patch.bat, który znajduje się w folderze SDK\tools.
![[Obrazek: 7.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/7.jpg)
5. W programie draw9patch.bat możemy edytować wyłącznie granicę 1px obrazka, reszta pozostaje nietknięta.
![[Obrazek: 8.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/8.jpg)
6. Zaznaczenie dolnych checkboxów spowoduje wyświetlenie wszystkich patchów. Górna i lewa granica (czarna linia na screenie) determinują gdzie grafika będzie rozciągnięta. Dolna i prawa granica determinuje gdzie może zostać umieszczona zawartość grafiki (napis, itp.)(widoczne na niebiesko w prawej części okna).
![[Obrazek: 9.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/9.jpg)
7. Powtarzamy ww. czynności z każdą grafiką. Należy pamiętać aby nie zaznaczać rozciągniecia na zaokrąglonych brzegach albo jakichkolwiek innych elementach umieszczonych w grafice (tylko proste krawędzie). Aby zapisać klikamy File/Save
![[Obrazek: 10.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/10.jpg)
8. Rozpakowujemy Kompilator do folderu. Wewnątrz znajdziemy foldery example1, example2 i music oraz ikonę. Otwieramy example1/res/drawable-hdpi i usuwamy stamtąd wszystkie grafiki (albo przenosimy gdziekolwiek). Teraz wrzucamy do tego folderu wszystkie wyedytowane i spatchowane wcześniej grafiki. Teraz wracamy do głównego folderu z Kompilatorem i klikamy dwukrotnie ikonę, pojawi się okno linii komend i po kilku sekundach pojawi się folder o nazwie "done". W środku znajduje się folder example1 wraz z finalnie przerobionymi grafikami. Teraz wystarczy te grafiki wrzucić spowrotem do pliku apk.
![[Obrazek: 12.jpg]](http://i805.photobucket.com/albums/yy337/corcor1515/9patch/12.jpg)
Źródło: http://www.droidforums.net/forum/droid-f...-pngs.html
Xiaomi MI6 64GB | MIUI 9.2 | Stock Kernel | Slim Case
IPAD Air WiFi 16GB | iOS 11.x | ESR Flip Cover