7

Zdaję sobie sprawę, że ten temat został omówiony na śmierć i przeczytałem oficjalne i nieoficjalne przewodniki dla programistów, więc poznaj teorię. Ale nadal nie jestem pewien, jaką ścieżkę wybrać, aby moja aplikacja wyglądała dobrze na wielu ekranach. Moja aplikacja to prosta aplikacja w stylu nawigacji, która ma być tylko portretem. Na tym etapie nie jestem zainteresowany tworzeniem różnych projektów ekranów poziomych lub wielowarstwowych na tablety itp. Chcę, aby każdy ekran był skalowany w górę/dół, aby wyglądał proporcjonalnie do rozmiaru ekranu, na którym jest wyświetlany - tj. tekst i obrazy są odpowiednio zwymiarowane w górę/w dół. I zaprojektował aplikację dla klasycznej 480x800 urządzenia hdpi który świetnie wygląda na, po prostu chcę, aby wyglądać proporcjonalnie do Galaxy S3/Nexus 7 itd Jestem już po tych wytycznych:Android - powszechne techniki skalowania układów ekranów

  • Korzystanie RelativeLayouts
  • Korzystanie jednostki DP dla dopełnienia/marże
  • pomocą jednostek SP dla czcionek
  • pomocą obrazów 9-patch do przycisków

jednak widzę, że wciąż wygląda małe i nieco zagubione w środku z scr na większych urządzeniach. W szczególności mój ekran głównego menu to siatka z 6 przyciskami graficznymi, których nie można uzyskać w odpowiedniej skali. Nie chcę mieć wielu kopii do zachowania na tym samym ekranie (normal/large/xlarge), chcę tylko jednego układu. Zastanawiałem się, co następuje:

  • Korzystanie foldery wartość normalna/wartość, itd. Do przechowywania dużych plików XML z wartościami/SP DP dla rozmiarów obrazów/tekst
  • Zmiana RelativeLayouts do LinearLayouts z ciężarkami (choć początkowo walczył z LinearLayouts i zmieniona na RelativeLayouts

czy któryś z tych ważnych podejść, czy jest tam lepsze podejście?

+0

Nie wiem, czy jest to dobra metoda, czy nie, ale można uzyskać wymiary urządzenia w czasie wykonywania i odpowiednio skalować układ/widok. Również użycie 'layout-weight' jest dobrym rozwiązaniem. – JiTHiN

Odpowiedz

1

Osobiście chciałbym przejść z pierwszej opcji. o ile to będzie działać dobrze dla telefonów, będzie Sprawię, że układ wydaje się nieco nadęty na tabletach. Dlatego też innym rozwiązaniem byłoby stworzenie osobnych układów dla tabletów i umieszczenie ich w folderach layout-large i layout-xlarge odpowiednio dla tabletów 7 "i 10".

+0

Dzięki, wydaje się, że droga. –