Субота, 20.04.2024, 13:01
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Яка мова вам ближче?
Всього відповідей: 11
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0



Android-пристрої класифікуються за екранами, використовуючи два загальних параметри: розмір і роздільний дозвіл. Ви повинні бути готові до того, що ваш додаток буде встановлений на пристроях з екранами, які варіюються за розміром і роздільним дозволом.

Таким чином, ви повинні додати деякі альтернативні ресурси, які будуть оптимізувати вигляд вашого додатку для різних розмірів екрану і роздільного дозволу.

• Розрізняють чотири узагальнені розміри: маленький, нормальний, великий, супер великий (xlarge)
• І чотири узагальнені роздільні дозволи: низький (ldpi), середній (mdpi), високий (hdpi), надвисокий (xhdpi)

Щоб задекларувати різні макети і растрові зображення, які хочете використовувати для різних екранів, ви повинні розмістити ці альтернативні ресурси в окремих каталогах, подібно до того, як робите для рядків на різних мовах.
Також пам'ятайте, що орієнтація екрану (портрет або альбом) вважається зміною розміру екрану, тому багато додатків повинні переглянути компоновку для оптимізації роботи користувача в кожній орієнтації.

СТВОРЕННЯ РІЗНИХ МАКЕТІВ

Для оптимізації роботи користувачів на різних розмірах екрану, ви повинні створити унікальний XML-файл макету для кожного розміру екрану, який хочете підтримувати. Кожен макет повинен бути збережений в каталозі відповідного ресурсу, названий з суфіксом -<screen_size>. Наприклад, унікальне розташування на великих екранах повинне бути збережене в res/layout-large/.

Примітка: Android автоматично масштабує макет для того, щоб правильно заповнити екран. Таким чином, вашим макетам для різних розмірів екрану не потрібно турбуватися за абсолютний розмір елементів користувальницького інтерфейсу, а замість цього зосередитися на структурі макету, яка впливає на практику користувача (наприклад, розмір або положення важливих виглядів по відношенню до споріднених виглядів).

Наприклад, даний проект включає в себе макет за замовчуванням і альтернативний макет для великих екранів:
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml
Імена файлів повинні бути точно такими ж, але їх зміст відрізняється для забезпечення оптимізованого інтерфейсу для відповідного розміру екрана.
Просто посилайтеся на файл макета у вашому додатку, як завжди:
@Override
 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
}
Система завантажує файл макета з відповідного каталогу макета на основі розміру екрану пристрою, на якому працює ваш додаток. Більш детальна інформацію про те, як Android вибирає відповідний ресурс, доступна в керівництві 
Providing Resources.
Як інший приклад, проект з альтернативної компоновки для альбомної орієнтації:
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml
За замовчуванням, файл layout/main.xml використовується для портретної орієнтації.
Якщо хочете забезпечити спеціальне оформлення для ландшафтного (альбомного) вигляду, в тому числі на великих екранах, то вам потрібно використовувати як large так і land визначники:
MyProject/
    res/
        layout/              # за замовчуванням (портретна орієнтація)
            main.xml
        layout-land/         # альбомна орієнтація
            main.xml
        layout-large/        # великий екран (портретна орієнтація)
            main.xml
        layout-large-land/   # великий екран і альбомна орієнтація
            main.xml

Примітка: Android 3.2 і вище підтримують вдосконалений метод визначення розмірів екрану, що дозволяє вам вказати ресурси для розмірів екрану на основі мінімальної ширини і висоти в плані пікселів незалежного роздільного дозволу. Для отримання більш детальної інформації ознайомтесь Designing for Multiple Screens.

СТВОРЕННЯ РІЗНИХ РАСТРОВИХ ЗОБРАЖЕНЬ

Ви повинні завжди забезпечити растрові ресурси, які належним чином масштабуються згідно узагальненого роздільного дозволу: низького, середнього, високого і дуже високого. Це допоможе вам добитися хорошої якості графіки і продуктивності на всіх роздільних дозволах екрану.

Для створення цих зображень, ви повинні почати з сирого ресурсу у векторному форматі і згенерувати зображення для кожного роздільного дозволу за наступною шкалою розмірів:

·    xhdpi: 2.0
·    hdpi: 1.5
·    mdpi: 1.0 (базовий)
·    ldpi: 0.75

Це означає, що якщо ви створюєте зображення 200x200 для xhdpi пристроїв, то повинні згенерувати той же ресурс в 150x150 пікселів для hdpi, 100x100 для mdpi і 75x75 для ldpi пристроїв.
Потім помістіть файли у відповідні каталоги графічних ресурсів:
MyProject/
    res/
        drawable-xhdpi/
            awesomeimage.png
        drawable-hdpi/
            awesomeimage.png
        drawable-mdpi/
            awesomeimage.png
        drawable-ldpi/
            awesomeimage.png
Кожен раз, коли посилаєтеся @drawable/awesomeimage, система вибирає відповідний растровий малюнок, заснований на роздільному дозволі екрану.

Примітка: Ресурси низького роздільного дозволу (ldpi) не завжди необхідні. Коли надаєте hdpi, система масштабує їх на одній половині, що належним чином підходить для екранів ldpi.

Джерело: developer.android.com

 

Форма входа
Пошук
Друзі сайту
Календар
«  Квітень 2024  »
ПнВтСрЧтПтСбНд
1234567
891011121314
15161718192021
22232425262728
2930

Єдина Країна! Единая Страна!