для прикладу ви використовували значення dimens.xml у значеннях нижче.
В іншій папці значень потрібно змінити значення для розміру тексту.
Для першого покоління планшетів під керуванням Android 3.0 правильним способом оголошення макетів планшетів було розміщення їх у каталозі з класифікатором конфігурації xlarge (наприклад, res / layout-xlarge /). Для розміщення інших типів планшетів та розмірів екрану, зокрема, 7-дюймових планшетів, Android 3.2 пропонує новий спосіб визначення ресурсів для більш дискретних розмірів екрана. Нова методика ґрунтується на обсязі місця, яке потребує ваш макет (наприклад, 600dp ширини), а не намагатися зробити ваш макет відповідним узагальненим групам розмірів (наприклад, великим або великим).
Причина проектування планшетів для 7 "є складною при використанні узагальнених груп розмірів у тому, що 7-дюймовий планшет технічно знаходиться в тій же групі, що і 5-дюймова трубка (велика група). Хоча ці два пристрої, здавалося б, близькі один одному за розмірами , об'єм місця для інтерфейсу програми значно відрізняється, як і стиль взаємодії з користувачем. Таким чином, 7 "і 5" екран не завжди повинен використовувати один і той же макет. Щоб зробити це можливим, ви зможете надати для них різні макети два типи екранів, Android тепер дозволяє вказувати ресурси вашого макета виходячи з ширини та / або висоти, які фактично доступні для макета вашої програми, визначеного в одиницях dp.
Наприклад, після того, як ви розробили макет, який ви хочете використовувати для пристроїв у стилі планшетного ПК, ви можете визначити, що макет перестає працювати добре, коли екран менше 600 дп. Таким чином, цей поріг стає мінімальним розміром, який потрібно для макета планшетного ПК. Відтак тепер ви можете вказати, що ці ресурси макета слід використовувати лише тоді, коли для інтерфейсу вашої програми доступно щонайменше 600dp ширини.
Вам слід або вибрати ширину та розробити її як мінімальний розмір, або протестувати, яку найменшу ширину підтримує ваш макет після його завершення.
Примітка. Пам’ятайте, що всі фігури, які використовуються в цих API нового розміру, є значеннями незалежної від щільності пікселів (dp), а розміри макета також завжди слід визначати за допомогою dp-одиниць, тому що для вас важливий обсяг екранного простору, доступного після системи припадає на щільність екрана (на відміну від використання роздільної здатності пікселів). Для отримання додаткової інформації про незалежні від щільності пікселі читайте Умови та поняття, наведені раніше в цьому документі. Використання нових кваліфікаційних розмірів
Різні конфігурації ресурсів, які ви можете вказати, виходячи з місця, доступного для вашого макета, зведені в таблиці 2. Ці нові класифікатори пропонують вам більше контролю над конкретними розмірами екрана, які підтримує ваше додаток, порівняно з традиційними групами розмірів екрана (малі, звичайні, великий і великий).
Примітка. Розміри, які ви визначаєте за допомогою цих класифікаторів, не є фактичними розмірами екрана. Швидше, розміри відповідають ширині або висоті в одиницях dp, які доступні у вікні вашої діяльності. Система Android може використовувати частину екрана для користувальницького інтерфейсу (наприклад, системний рядок у нижній частині екрана або рядок стану вгорі), тому частина екрану може бути недоступною для вашого макета. Таким чином, розміри, які ви заявляєте, повинні відповідати конкретно розмірам, необхідним для вашої діяльності - система обліковує будь-який простір, який використовує інтерфейс системи під час декларування, скільки місця він надає для вашого макета. Також майте на увазі, що панель дій вважається частиною віконного простору вашої програми, хоча ваш макет не декларує її, тому це зменшує доступний простір для вашого макета, і ви повинні врахувати це у своєму дизайні.
Таблиця 2. Нові кваліфікаційні класи для розміру екрана (представлені в Android 3.2). Конфігурація екрана Значення кваліфікатора Опис Найменша ширина swdp
Приклади: sw600dp sw720dp
Основний розмір екрана, що вказується на найкоротший розмір доступної площі екрана. Зокрема, найменша ширина пристрою - найкоротша з доступних висоти та ширини екрана (ви також можете вважати це "найменшою можливою шириною" для екрана). Ви можете скористатися цим класифікатором, щоб гарантувати, що незалежно від поточної орієнтації екрана у вашої програми є принаймні ширина dps для його інтерфейсу.
Наприклад, якщо ваш макет вимагає, щоб його найменший розмір площі екрана був щонайменше 600 dp, то ви можете використовувати цей класифікатор для створення ресурсів компонування, res / layout-sw600dp /. Система буде використовувати ці ресурси лише тоді, коли найменший розмір доступного екрана становить щонайменше 600dp, незалежно від того, чи сторона 600dp - це сприйнята користувачем висота чи ширина. Найменша ширина - це фіксований розмір екрана, характерний для пристрою; найменша ширина пристрою не змінюється при зміні орієнтації екрана.
Найменша ширина пристрою враховує декор екрану та системний інтерфейс. Наприклад, якщо пристрій має кілька стійких елементів інтерфейсу на екрані, які займають простір уздовж осі найменшої ширини, система оголошує найменшу ширину меншою, ніж фактичний розмір екрана, оскільки це пікселі екрана, недоступні для вашого інтерфейсу.
Це альтернатива узагальненим класифікаторам розміру екрана (малий, нормальний, великий, великий), що дозволяє визначити дискретне число для ефективного розміру, доступного для вашого інтерфейсу. Використання найменшої ширини для визначення загального розміру екрана корисно, оскільки ширина часто є рушійним фактором при розробці макета. Користувацький інтерфейс часто прокручується вертикально, але має досить жорсткі обмеження щодо мінімального простору, який йому потрібен по горизонталі. Наявна ширина також є ключовим фактором у визначенні того, чи слід використовувати однопанельний макет для телефонів або багатопанельний макет для планшетів. Таким чином, вас, швидше за все, хвилює те, яка найменша ширина буде на кожному пристрої. Доступна ширина екрана wdp
Приклади: w720dp w1024dp
Вказує мінімальну доступну ширину в одиницях dp, для яких слід використовувати ресурси - визначається значенням. Відповідне значення системи для ширини змінюється, коли орієнтація екрана перемикається між пейзажем та портретом, щоб відобразити поточну фактичну ширину, доступну для вашого інтерфейсу.
Це часто корисно для того, щоб визначити, чи використовувати мультипанельний макет, оскільки навіть на планшетному пристрої ви часто не хочете того самого багатопанельного макета для портретної орієнтації, як для пейзажу. Таким чином, ви можете використовувати це для визначення мінімальної ширини, необхідної для макета, замість того, щоб разом використовувати обидва класи екрана та орієнтири. Доступна висота екрана hdp
Приклади: h720dp h1024dp тощо
Зазначає мінімальну висоту екрану в одиницях dp, для яких слід використовувати ресурси - визначається значенням. Відповідне значення системи для висоти змінюється, коли орієнтація екрана перемикається між пейзажним і портретним, щоб відображати поточну фактичну висоту, доступну для вашого інтерфейсу користувача.
Використовуючи це для визначення висоти, необхідної для вашого макета, корисно так само, як wdp для визначення необхідної ширини, замість того, щоб використовувати як розмір екрана, так і класифікатори орієнтації. Однак більшості додатків цей класифікатор не знадобиться, враховуючи, що користувальницькі інтерфейси часто прокручуються вертикально і, таким чином, є більш гнучкими в залежності від висоти, тоді як ширина є більш жорсткою.
Хоча використання цих кваліфікаторів може здатися складнішим, ніж використання груп розмірів екрана, це насправді повинно бути простішим, як тільки ви визначите вимоги до свого інтерфейсу. Коли ви розробляєте інтерфейс користувача, головне, що вам, мабуть, важливо - це фактичний розмір, при якому ваша програма перемикається між інтерфейсом у стилі слухавки та користувальницьким інтерфейсом, який використовує кілька панелей. Точна точка цього перемикача буде залежати від конкретного дизайну - можливо, вам потрібна ширина 720dp для макета планшета, можливо, достатньо 600dp, або 480dp, або деяка кількість між ними. Використовуючи ці класифікатори в таблиці 2, ви контролюєте точний розмір, при якому змінюється ваш макет.
Для більш детальної дискусії щодо цих кваліфікаційних класифікаторів розміру див. Документ Надання ресурсів. Приклади конфігурації
Щоб допомогти вам орієнтуватися на деякі ваші конструкції для різних типів пристроїв, ось кілька номерів для типових ширин екрана:
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
Використовуючи класифікатори розміру з таблиці 2, ваша програма може перемикатися між різними ресурсами компонування для телефонів і планшетів, використовуючи будь-яке потрібне вам число для ширини та / або висоти. Наприклад, якщо 600dp є найменшою доступною шириною, підтримуваною компонуванням планшетного ПК, ви можете надати ці два набори макетів:
res / layout / main_activity.xml # Для телефонів res / layout-sw600dp / main_activity.xml # Для планшетів
У цьому випадку найменша ширина наявного екранного простору повинна бути 600 дп, щоб застосовувати макет планшета.
Для інших випадків, коли ви хочете додатково налаштувати свій інтерфейс користувача, щоб розмежувати розміри, такі як 7 ”та 10” планшети, ви можете визначити додаткові макети найменшої ширини:
res / layout / main_activity.xml # Для телефонів (менше 600dp доступної ширини) res / layout-sw600dp / main_activity.xml # Для 7-дюймових планшетів (шириною 600dp і більше) res / layout-sw720dp / main_activity.xml
Для 10-дюймових планшетів (720dp і більше)
Зауважте, що в попередніх двох наборах прикладних ресурсів використовується класифікатор "найменшої ширини", swdp, який визначає найменшу з двох сторін екрана, незалежно від поточної орієнтації пристрою. Таким чином, використання swdp - це простий спосіб визначити загальний розмір екрана, доступний для вашого макета, ігноруючи орієнтацію екрана.
Однак у деяких випадках для вашого макета може бути важливо саме те, яка ширина чи висота наразі доступна. Наприклад, якщо у вас є двопанельна розкладка з двома фрагментами поруч, ви можете використовувати її щоразу, коли екран забезпечує ширину принаймні 600dp, незалежно від того, чи пристрій має ландшафтну або портретну орієнтацію. У цьому випадку ваші ресурси можуть виглядати приблизно так:
res / layout / main_activity.xml # Для телефонів (менше 600dp доступної ширини) res / layout-w600dp / main_activity.xml # Багатопанель (будь-який екран із доступною шириною 600dp або більше)
Зауважте, що у другому наборі використовується кваліфікатор "доступної ширини", wdp. Таким чином, один пристрій може фактично використовувати обидва макети, залежно від орієнтації екрана (якщо наявна ширина принаймні 600dp в одній орієнтації та менше 600dp в іншій орієнтації).
Якщо доступна висота викликає занепокоєння, ви можете зробити те ж саме, використовуючи hdp-класифікатор. Або навіть комбінуйте кваліфікатори wdp та hdp, якщо вам потрібно бути дійсно конкретними.