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?
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