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



Download 3,69 Mb.
Pdf ko'rish
bet169/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   165   166   167   168   169   170   171   172   ...   228
Bog'liq
Нативная разработка мобильных приложений

действительно необходимо
для отображения пользователь
-
ского интерфейса, поэтому добавим еще несколько строк, определяющих от
-
ступы вокруг элементов и их привязку к определенным точкам экрана, чтобы 
изображение на экране получилось чуть более привлекательным:

xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">


Оформление представлений 

259
android:id="@+id/logo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:layout_marginBottom="16dp"
android:adjustViewBounds="true"
android:src="@drawable/dlml_logo" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:fontFamily="serif"
android:lineSpacingMultiplier="1.3"
android:text="@string/introduction"
android:textColor="@color/colorPrimary"
android:textSize="14sp" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:fontFamily="serif"
android:lineSpacingMultiplier="1.3"
android:text="@string/terms"
android:textColor="@color/colorPrimary"
android:textSize="14sp" />
android:id="@+id/terms_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:fontFamily="serif"
android:lineSpacingMultiplier="1.3"
android:text="@string/terms_accept_label"
android:textColor="@color/colorPrimary"
android:textSize="14sp" />


260

Вывод списка с данными


Помимо отступов, настроек шрифтов и привязки к определенным областям 
экрана мы также добавили атрибут 
adjustViewBounds
в элемент 
ImageView
с ло
-
готипом. На данный момент мы не выполняем никаких существенных мани
-
пуляций с представлением, однако, как мне кажется, нам стоит остановиться 
и подробнее рассмотреть этот атрибут, потому что он часто используется на 
практике, но из-за нестандартного поведения может вызывать непонимание 
даже у опытных разработчиков.
Вот как он определяется в документации для разработчиков (
https://oreil.ly/
qKi6P
):
Установите значение 
true
в этом атрибуте, если требуется, чтобы 
ImageView
корректировал свои границы с сохранением соотношения сторон своего 
изображения.
Проще говоря, если не присвоить этому атрибуту значение 
true

ImageView
мо
-
жет рассматривать пробельные части своей области рисования как поля и от
-
ступы, которые не были указаны. Если вы сомневаетесь, добавьте этот атрибут 
со значением 
true
во все 
ImageView
, для которых не предусматривается особого 
поведения. Это может показаться избыточным, но если вам нужно, чтобы гра
-
ницы изображений идеально совпадали с границами экрана или других эле
-
ментов, этот атрибут поможет вам добиться желаемого. А теперь продолжим!
Запустите приложение. Теперь оно должно выглядеть, как показано на 
рис. 17.1.
Сейчас, когда наш пользовательский интерфейс имеет более или менее при
-
влекательный внешний вид, добавим поведение в экземпляры 
CheckBox
и 
Button
.
Нам нужно, чтобы после нажатия кнопки в нижней части экрана открывал
-
ся пользовательский интерфейс, позволяющий просматривать книги; кнопка 
должна оставаться неактивной, пока пользователь не установит флажок, со
-
общающий о согласии с нашими условиями (в них мы просто напоминаем, что 
авторские права на книги распространяются и на цифровые копии). Давайте 
посмотрим, как реализовать реакцию на флажок в коде.
Откройте файл 
MainAc ti vi ty.java
, в котором находится код, управляющий 
начальным экраном (экраном с приветствием). Обратите внимание на стро
-
ку 
setContentView(R.layout.main)
, которая анализирует описание представления 
в файле XML из предыдущей главы и рисует его на экране. На данный момент 
содержимое файла выглядит примерно так:
Java
public class MainAc ti vi ty extends Ac ti vi ty {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}


Оформление представлений 

261
Kotlin
class MainAc ti vi ty : Ac ti vi ty() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   165   166   167   168   169   170   171   172   ...   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