2013-02-07 10 views
5

Używam dziewięciu obrazów poprawki jako rysunków dla elementu elementu selektora. Dziewięć łata obraz jest tutaj:9 obraz poprawki jest skalowany na niewłaściwych pozycjach

9 patch image

Obraz, który ostatecznie zostanie wygenerowana jest to (emulator & ekranu urządzenia, oba urządzenia mają uchwał> MDPI):

resulting rendered image

jak ty Widać, że został skalowany poza obszarem rozciągliwym (jak zdefiniowano w 9 pliku łatki), ciemniejszy zielony pasek jest dużo grubszy, jak powinien. Dlaczego tak jest i czy można tego uniknąć? Narzędzie draw9patch skaluje ten obraz poprawnie. Czy ma to związek z Androidem, który próbuje zachować fizyczne wymiary na urządzeniach o wysokiej rozdzielczości?

+0

Zobaczmy kod gdzie można narysować obraz. – Caerulius

Odpowiedz

6

Czy podajesz tylko wersję mdpi obrazu?

Android skaluje wszystkie obrazy, które nie są dostępne w prawidłowej gęstości pikseli. Dzieje się to przed skalowaniem obrazu za pomocą 9patchów.

Oznaczałoby to, że obraz zostanie przeskalowany w celu dopasowania do hdpi, a następnie skalowany w celu dopasowania do zawartości.

Aby to naprawić, musisz udostępnić wersję obrazu w rozdzielczości HD i XHD. 9patch nie powinien być ukierunkowany na różne gęstości pikseli i różne rozmiary treści/ekranów.

+0

Istnieje tylko jedna wersja (umieszczona w folderze do rysowania). Wygląda więc na to, że opisany proces wyjaśnia problem, z którym się borykam. Szkoda, bo mogłem uniknąć tworzenia obrazów dla wszystkich różnych rozdzielczości fizycznych ... – user462982

3

Sprawdziłem swoje 9 patch:

enter image description here

Dlaczego umaszczenia nie używane granic białe? Powinno być przejrzyste. to nie jest rozpoznawana jako 9Patch Ponieważ:

enter image description here

+0

Białe obramowania są moją osobistą najlepszą praktyką, ponieważ pozwalają uniknąć tego, że prawie przezroczyste piksele żyją na zewnętrznych granicach. Do tej pory nigdy nie miałem z tym problemów. Sprawdziłem to podwójnie: czerwone paski (cokolwiek mają na myśli) występują również z całkowicie przezroczystymi obramowaniami. – user462982

Powiązane problemy