77
Код 22. Верстка элемента списка новостей
Рис 18. Верстка элемента списка новостей
Мы создали простой графический интерфейс в макетном редакторе и
настроили свойства компонентов в
окне свойств. В XML-файле разметки
используемый по умолчанию компонент RelativeLayout был заменен
компонентом LinearLayout, который затем был настроен для вертикального
расположения представлений. Приложение выводит текст в компоненте
TextView, а изображения — в компоненте ImageView. Мы изменили
компонент TextView графического интерфейса по умолчанию, чтобы текст
выравнивался по центру, увеличенным шрифтом и в
одном из цветов
стандартной темы. Компоненты ImageView перетаскивались мышью из
78
палитры компонентов макетного редактора. Как и положено, все строки, и
числовые значения были определены в файлах ресурсов в папке res проекта.
В классе MainActivity задействованы многие средства объектно-
ориентированного программирования на языке Java, включая классы,
объекты, интерфейсы, анонимные внутренние классы и наследование. Также
была представлена концепция заполнения графического интерфейса, то есть
преобразования содержимого файла XML в его экранное представление. Мы
познакомились с классом Android Activity и жизненным циклом активности.
В
частности, мы переопределили метод onCreate для инициализации
приложения при запуске. В
методе onCreate метод findViewById класса
Activity использовался для получения ссылок на визуальные компоненты, с
которыми приложение взаимодействует на программном уровне. Наконец,
мы отредактировали файл AndroidManifest.xml, чтобы указать, что
MainActivity поддерживает только портретную ориентацию, а класс
MainActivity всегда должен отображать виртуальную клавиатуру. Заодно
были представлены другие элементы, включенные Android Studio в манифест
при создании проекта. Мы показали, как при помощи объекта Configuration
определить, выполняется ли приложение на планшете в альбомной
ориентации. Также в
этой главе было показано, как управлять большим
количеством графических ресурсов с использованием вложенных папок в
папке assets приложения и как обращаться к этим ресурсам через
AssetManager. Также были рассмотрены другие папки из
папки res
приложения — menu для хранения файлов ресурсов меню, xml для хранения
файлов с разметкой XML. Также мы узнали, как использовать
квалификаторы при создании папки для хранения макета, который должен
использоваться только на больших устройствах в альбомной ориентации. Мы
также показали, как использовать ресурс списка цветов состояний, для того
чтобы гарантировать удобочитаемость текста на кнопках как для доступного,
так и для заблокированного состояния.