6. Настройка разрешения

Всё, что написано ниже горизонтальной черты оставлено для истории.

С 15 августа 2015 App Inventor предоставляет возможность масштабировать программы под разные разрешения, в штатном режиме. Достаточно выбрать Responsive в настройке экрана в режиме Design:

После такого выбора во Viewer становится доступна галка, позволяющая макетировать интерфейс программы на якобы планшетном экране (Check to see Preview on Tablet size):

Использование различных улучшайзеров для оптимизации разрешения не требуется.

Всё, что написано ниже горизонтальной черты оставлено для истории!

Штатным разрешением для всех программ AppInventor является разрешение 480х320.

Это значит, что на различных устройствах создаваемая программа будет выглядеть как показано в таблице ниже в колонке "Начальное", а хотелось бы, чтобы она выглядела как в колонке "Правильное".

Кроме того, хотелось бы скрыть занимающую лишнее место строку с название программы.

Устройство

Google/HTC Nexus One

Motorola Moto G

Asus EEPad TF700T

Экран

 800x480

 1280x720

 1920x1200

Начальное 

Правильное

Дизайн кнопок в программе был немного изменён. В статус бар lbl_status_l стали выводиться значения высоты и ширины всего экрана программы и компонента браузера.

Как видно в колонке "Начальное" практически нет изменений в положениях и размере элементов программы, а разрешение экрана возросло с 800x480 до 1920х1200. На экране планшета программа выглядит жутко "мыльно".

К сожалению, штатными средствами положение дел не исправить.

Однако энтузиастами разработано несколько решений (см. Модификации), например - инструмент AppToMarket.

К сожалению и этот инструмент не делает всё автоматически так, как нужно, и нужно будет немного поправить AndroidManifest.xml. Но обо всём по порядку.

Процесс такой:

Можно загружать в Google Play.

Чуть подробнее.

Установив JRE или JDK и скачав AppToMarket (ссылки см. на странице Модификации) и распаковав его, сохраняем apk созданного приложения на компьютер. На верхней панели AppInventor выбираем Built -> App (Save .apk to my computer):

Запускаем AppToMarket, переходим на вторую вкладку (1>) и заполняем данные для подписи приложения. Это обязательное условие, без ключа созданного на этом этапе приложение не возможно будет запаковать обратно. За недостоверность данных программу могут заблокировать в Google Market.

При наведении мыши на поля в поле Information появляются подсказки, помогут сориентироваться. Кроме того, все поля изначально заполнены, кто-то использует это.

Заполнив поля и нажав кнопку Generate, получим ключ, которым приложение будет подписано.

Можно нажать Save Config, чтобы программа запомнила какой ключ использовать и где он лежит.

Переходим на вкладку 2>. Тут все пункты пронумерованы, не ошибёшься.

Дальше нужно вручную подредактировать пару строк в манифесте, т.к. AppToMarket работает криво.

Идём в папку где лежит AppToMarket, в подпапку temp_myDecompiles

Открываем AndroidManifest.xml в текстовом редакторе и ищем строку:

<supports-screens android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="false" />

и меняем её на строку:

<supports-screens android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />

Т.е., добавили xlargeScreens="true" и изменили android:anyDensity="false" на "true".

Всё это можно сделать нажав 3> Edit Manifest, но лучше использовать текстовые редакторы с подсветкой кода Notepad++, например, чтобы не ошибиться.

Сохраняем манифест, переходим в AppToMarket и продолжаем по пунктам:

После этих операций рядом с исходным apk будут лежать ещё 2:

Последний файл (_new_zipAlign) будет содержать требуемую функциональность.

Можно грузить в Google Market.

Далее: Загрузка в Google Play.