What do dirs layout-port and layout-land in Android project?
Posted: Thu Dec 15, 2011 12:28 am
Освен размерът на иконите върху екрана на един телефон, графичният нтерфейс може да се размести, припокрие и по този начин да стане неизползваем, не само чрез несъобразени размери на иконите в него. Също при завъртане на телефона в различни посоки, екранът може да се завърти (ако това не е забранено в AndroidManifest.xml файла или от настройките на телефона), като се стреми да бъде в хоризонтално положение за удобство на потребителя.
Един начин за справяне с проблема е като се задават релативни размери на изграждащите екрана елементи. Препоръчително е да се избягва задаване на размери чрез конкретни стойности на пикселите (px). Те могат да се зададат чрез dpi (dots per inch) размерността, за която единица мярка има различна големина за различните екрани. Най-добрата практика е размерите да се задават чрез параметрите wrap_content и fill_parent. Те се задават на layout_width (широчина) и layout_height (всочина) атрибутите. Първият указва на изчертаващия се елемент да заеме място, не по-голямо от нужното му, за да бъде видимо съдържанието в него. Вторят прави елемента максимално разширен в рамките не неговият родител, в който е поставен.
Не винаги, когато създаваме екран, уразмерен с релативни стойности, е възможно да изглежда достатъчно добре в портрет и пейзаж. В този случай се създават два отделни екрана за двете положения съответно в layout-port и layout-land поддиректориите на ресурсната папка (res).
Един начин за справяне с проблема е като се задават релативни размери на изграждащите екрана елементи. Препоръчително е да се избягва задаване на размери чрез конкретни стойности на пикселите (px). Те могат да се зададат чрез dpi (dots per inch) размерността, за която единица мярка има различна големина за различните екрани. Най-добрата практика е размерите да се задават чрез параметрите wrap_content и fill_parent. Те се задават на layout_width (широчина) и layout_height (всочина) атрибутите. Първият указва на изчертаващия се елемент да заеме място, не по-голямо от нужното му, за да бъде видимо съдържанието в него. Вторят прави елемента максимално разширен в рамките не неговият родител, в който е поставен.
Не винаги, когато създаваме екран, уразмерен с релативни стойности, е възможно да изглежда достатъчно добре в портрет и пейзаж. В този случай се създават два отделни екрана за двете положения съответно в layout-port и layout-land поддиректориите на ресурсната папка (res).