Я хотів би створити різні макети для планшетів та телефонів в Android. Де я повинен розмістити ресурси макета, щоб зробити цю диференціацію?
Відповіді:
Я знаю, що це старе запитання, але заради цього ... Згідно з документацією , вам слід створити такі папки активів, як ця
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
Якщо ви використовуєте в коді концепцію Fragment (означає багатошаровий макет), то найкраще використовувати wdp замість swdp
res/layout-w600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-w720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
res/layout-w600dp-land/main_activity.xml # For 7” tablets in landscape (600dp wide and bigger)
res/layout-w720dp-land/main_activity.xml # For 10” tablets in landscape (720dp wide and bigger)
Зверніться до таблиці для розуміння wdp
Table 2. New configuration qualifers for screen size (introduced in Android 3.2).
У наступному посиланні
http://developer.android.com/guide/practices/screens_support.html
Що стосується макетів, то, на мою думку, ви можете диференціювати лише наведене нижче:
res/layout/my_layout.xml // layout for normal screen size
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode
Ви можете знайти більше інформації про те, що можна додати до структури папок, щоб розрізнити різні налаштування тут .
Найбільша проблема полягає в тому, що Android SDK насправді офіційно не включає планшети. Сподіваємось, це буде вирішено в наступній версії Android. В іншому випадку вам просто потрібно переконатися, що ви використовуєте макети масштабування, які будуть працювати для будь-якого розміру екрана.
Згідно з документацією, вам слід створити такі папки активів, як ця .. повний список ......
res/layout/main_activity.xml // For handsets (smaller than 600dp available width)
res/layout/main_activity.xml // For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml // For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml // For 10” tablets (720dp wide and bigger)
res/layout-sw600dp-land/main_activity.xml // For 7” tablets in landscape (600dp wide and bigger)
res/layout-sw720dp-land/main_activity.xml // For 10” tablets in landscape (720dp wide and bigger)
Це джерело також надає способи виклику будь-яких ресурсів на основі конфігурацій пристрою, таких як: мова, ширина / висота екрана, напрямок макета, орієнтація екрану ... тощо.
Ви повинні бути обережними, роблячи ресурс за замовчуванням як згадане джерело, наприклад, викликаючи високоякісні значки для планшетів.
Спадне меню "Орієнтація для попереднього перегляду" в Android Studio, як показано нижче, може допомогти створити швидкий альбомний макет та розмітку планшета xmls. Він також створювати окремі папки , тобто layout-land
і layout-sw600dp
для цих варіантів компоновки і розмістити XMLs макета в цих папках.