Widziałem odniesienia do możliwości określenia dwóch oddzielnych plików XML układu dla działania, jednego dla portretu i jednego dla krajobrazu. Nie znalazłem jednak żadnych informacji, jak to zrobić. Jak określić dla każdego działania, który plik xml ma układ pionowy, a który układ poziomy?
Czy można również określić różne układy dla różnych rozmiarów ekranu? Jeśli tak, jak to się robi?
android
orientation
landscape
portrait
Jay Askren
źródło
źródło
Wystarczy umieścić go w osobnych folderach o różnych nazwach w zależności od orientacji i rozdzielczości, urządzenie automatycznie wybierze właściwy dla swoich ustawień ekranu
Więcej informacji tutaj:
http://developer.android.com/guide/practices/screens_support.html
w sekcji „Kwalifikatory katalogu zasobów dla rozmiaru i gęstości ekranu”
źródło
Dla miłośników myszy! Mówię, kliknij prawym przyciskiem myszy folder zasobów i
Add new resource file
, iz Dostępne kwalifikatory wybierzorientation
:Ale nadal możesz to zrobić ręcznie, dodając do niego podfolder „layout-land”
„Katalog-Twojego-projektu \ aplikacja \ src \ main \ res”
od tego czasu każdy plik layout.xml w tym podfolderze będzie działał automatycznie tylko w trybie poziomym .
Użyj „layout-port” dla trybu portretowego.
źródło
Tylko przypomnienie:
Usuń
orientation
zandroid:configChanges
atrybutu dla działania wxml
pliku manifestu , jeśli zostało zdefiniowane:źródło
Najszybszy sposób dla Android Studio 3.xx i Android Studio 4.xx
1.Przejdź do zakładki projektowania układu aktywności
2. Na górze należy nacisnąć przycisk orientacji dla podglądu, istnieje opcja stworzenia układu poziomego (obraz zaznaczenia), nowy folder zostanie utworzony jako plik układu xml dla tej konkretnej orientacji
źródło
Myślę, że najłatwiejszym sposobem w najnowszych wersjach Androida jest przejście do trybu projektowania XML (nie tekstu).
Następnie z menu wybierz opcję - Utwórz odmianę krajobrazu. Spowoduje to bezproblemowe utworzenie krajobrazu XML w ciągu kilku sekund. Najnowsza wersja Android Studio umożliwia natychmiastowe utworzenie widoku poziomego.
Mam nadzieję, że to działa dla Ciebie.
źródło
Utwórz nowy katalog
layout-land
, a następnie utwórzxml
plik o takiej samej nazwie wlayout-land
jakim byłlayout
katalog i wyrównaj w nim zawartość dla trybu poziomego.Zauważ, że identyfikator treści w obu
xml
jest taki sam.źródło
Ostatnia linia poniżej to przykład zastosowania dwóch kwantyfikatorów: poziomego i najmniejszego ekranu (600 dp). Zaktualizuj 600 dp tymi, których potrzebujesz.
Powyższe dotyczy również wymiarów
Przydatne dane dotyczące urządzeń: https://material.io/tools/devices/
źródło
Lub użyj tego:
źródło
Korzystając z Android Studio 3.4.1, nie tworzy jużlayout-land
folderu . Utworzy folder i umieści razem dwa pliki układu.źródło