2012-08-05 13 views
6

Czy to zły nawyk, aby uzyskać szerokość i wysokość urządzenia i ustawić odpowiednio rozmiary obrazów/przycisków.Android: Dostosuj rozmiar programowo zgodnie z rozmiarem ekranu

Uważam to niedokładne stosować różne foldery dla układów i gęstościach, ponieważ daje mi wierd wyniki na niektórych urządzeniach (na górze inacurancies)

Twoje doświadczenie jest doceniana. Dziękuję

Odpowiedz

2

Tak, to bardzo dobrze jest zrobić układ dla wszystkich obsługiwanych ekranów Androida. Na rynku dostępnych jest wiele rozdzielczości ekranu.

Raz zrobiłem demo i działa dla mnie. Zrobiłem jeden przycisk, którego wysokość i szerokość są takie same. Teraz ustawiłem jego wymaganą wysokość i szerokość, jak na jednym ekranie, w którym wygląda idealnie.

Po tym czasie obliczyłem piksel, który jest potrzebny, aby było możliwe na tym ekranie i na tej podstawie zastosowałem go do wszystkich ekranów.

Teraz działa doskonale we wszystkich urządzeniach o dowolnej gęstości i rozdzielczości.

Tak więc, jeśli istnieje widok, który generuje w czasie wykonywania i chcesz ustawić jego wysokość i szerokość, najlepszym sposobem jest obliczenie stosunku wysokości do szerokości i użycie go.

mam nadzieję, że ci to pomoże.

Ciesz się kodowaniem. . . .

:)

+0

Uwielbiam ten praktyczny komentarz. To zdecydowanie ma sens. Rozumiem aspekt proporcji, ale jak określić szerokość w pierwszej kolejności? Próbuję sprawdzić, ile pikseli jest wymaganych, aby przycisk dobrze wyglądał. Następnie widzę procent, jaki zajmuje od całkowitej liczby pikseli ekranu. Wreszcie używam tej wartości procentowej, aby programowo obliczyć szerokość przycisku na każdym ekranie. Czy jest sens? – Snake

+0

Tak, to zadziała. Wystarczy ustawić wysokość i szerokość przycisku programowo na jednym ekranie. Raz, jeśli wygląda dobrze, policz rację wysokości i szerokości w oparciu o to urządzenie Rozdzielczość ekranu. Po uzyskaniu racji. Użyj tej racji w pliku java. Działa dla wszystkich rozmiarów ekranu. –

+0

jak obliczyć piksele przycisku? czy możesz podać kod dla tego dzieła? pomoc zostanie doceniona – User42590

1

Cóż, w większości przypadków będziesz miał układy, które są lub będą złożone, a programowanie będzie trudne do obliczenia.

I będzie to także niekorzystne, ponieważ nie będzie można używać elementów interfejsu (układu graficznego itp.), A inni ludzie, lub ty, nie zrozumieją obliczeń w ten sam sposób, w jaki jeśli widzą widoki w XML. Reorganizacja, zmiana miejsca może być bolesna.

Będziesz także często pracować z mapami bitowymi, które mają stały rozmiar, jeśli programowo obliczysz wymiary i rozciągniesz, nie będą wyglądać dobrze. Przynajmniej potrzebujesz innego zestawu bitmap i ładuj odpowiednio.

Pomaga, jeśli na przykład stosujesz układy względne z regułami (jak wyżej/wyrównanie u dołu elementu nadrzędnego, itp.), Układy liniowe z wagą i nachylenie (piksele niezależne od gęstości). Powinieneś wykonywać programowy układ tylko wtedy, gdy nie jest to możliwe w inny sposób. Lub w niektórych przypadkach, gdy tak naprawdę - naprawdę ułatwia to.

+0

To prawda. Ale zrobienie tego spowodowało, że natknąłem się na następujące pytanie, które stworzyłem z nagrodą. http://stackoverflow.com/questions/10378030/two-devices-similar-densities-yet-different-image-sizes – Snake

Powiązane problemy