Нативная разработка мобильных приложений


Создание нового представления



Download 3,69 Mb.
Pdf ko'rish
bet35/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   31   32   33   34   35   36   37   38   ...   228
Bog'liq
Нативная разработка мобильных приложений

Создание нового представления
Экземпляры классов представлений создаются точно так же, как и любые дру
-
гие объекты, – с использованием ключевого слова 
new
и конструктора подклас
-
са 
View
(в Java) или простым вызовом конструктора (в Kotlin). В большинстве 
случаев для этого потребуется, как минимум, параметр 
Context
, а в некоторых 
может понадобиться передать другие параметры:
Java
TextView textView = new TextView(context);
Kotlin
val textView = TextView(context)
Но чаще экземпляры 
View
и, как правило, иерархии вложенных экземпляров 
View
и 
ViewGroup
создаются методом развертывания «макета» XML. Под «развер
-
тыванием» подразумевается самый простой анализ разметки XML и добавле
-
ние дерева представлений в существующий пользовательский интерфейс или 
его возврат.
Макеты XML в Android оформляются в соответствии с традиционными пра
-
вилами и парой соглашений, о которых вы должны знать.
Объявление XML необязательно, но желательно:

Далее должен следовать 
один
корневой узел XML. Это почти всегда 
ViewGroup
(если определяется дерево представлений) или один 
View
, представляющий все 
содержимое макета. Я говорю «почти», потому что существуют продвинутые 
механизмы, такие как тег 
merge
; технически это не 
View
, но он содержит ин
-
струкции, определяющие содержимое узла.


Android 

45
Например, вам может встретиться такое дерево представлений:








или единственное представление:


Файлы макетов хранятся в папке 
res/layout/
и должны соответствовать стан
-
дартной схеме именования ресурсов в Android (только алфавитно-цифровые 
символы и символы подчеркивания). Эта папка обрабатывается во время ком
-
пиляции, и для каждого макета создается ссылка с числовым идентификато
-
ром. Сейчас совершенно не важно, как именно это происходит; просто знайте, 
что если сохранить файл макета как 
res/layout/my_activity.xml
, он будет доступен 
в глобальном статическом объекте конфигурации 
R
как 
R.layout.my_activity
, ко
-
торый можно передать любому методу, ожидающему получить идентифика
-
тор ресурса.
Вернемся к соглашениям, упоминавшимся выше. Процесс развертывания 
макетов в Android обладает обширными возможностями, но для доступа к ним 
требуется использовать пространства имен. Это достаточно просто: добавьте 
в корневой узел атрибут пространства имен, ссылающийся на схему Android: 
http://schemas.android.com/apk/res/android
. Это пространство имен может быть 
чем угодно, но вообще его принято называть «android»:

xmlns:android="http://schemas.android.com/apk/res/android"
...>
После этого у вас появится доступ к свойствам платформы Android, кото
-
рые можно использовать, добавляя их после пространства имен, как показано 
ниже:

xmlns:android="http://schemas.android.com/apk/res/android"
...>
android:text="Hello world!"
...>
После определения пространства имен, когда платформа будет наполнять 
макет из XML, она создаст 
LinearLayout
с 
TextView
в нем, и свойство 
text
в 
Text­
View
получит значение «Hello World!» (которое будет отображаться на экране 
системным шрифтом, с цветом и размером по умолчанию).


46

Представления
Обратите внимание, что вполне допустимо (хотя такое вам едва ли встре
-
тится на практике) использовать свое имя для пространства имен, достаточно 
просто указать его в файле макета:

xmlns:bob="http://schemas.android.com/apk/res/android"
bob:layout_width="match_parent"
bob:layout_height="wrap_content">
bob:text="Hello world!"
bob:layout_width="wrap_content"
bob:layout_height="wrap_content" />

Еще одно важное пространство имен, которое необходимо включить, – про
-
странство имен «auto». Это пространство имен должно быть определено при 
использовании собственных, а также вспомогательных компонентов. Оно 
должно ссылаться на 

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish