186
Rozdział 5.
Kompletny kod
Kompletny układ liniowy
Oto kompletny kod naszego układu liniowego:
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:padding=”16dp”
android:orientation=”vertical”
tools:context=”com.hfad.widoki.MainActivity” >
<EditText
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:hint=”@string/to” />
<EditText
android:layout_width=”match_parent”
android:layout_height=”0dp”
android:layout_weight=”1”
android:gravity=”top”
android:hint=”@string/message” />
<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_gravity=”end”
android:text=”@string/send” />
</LinearLayout>
Zawartość pola do
wprowadzania treści
wiadomości będzie
wyświetlana na samej górze
tego widoku. Dzięki temu
będziemy mieć naprawdę
dużo miejsca do wpisywania.
Przycisk Wyślij jest
wyświetlony w końcowym
dolnym rogu układu.
Atrybut android:gravity różni się
od atrybutu android:layout_gravity.
Pierwszy z nich odnosi się do
zawartości widoku, drugi zaś do
samego widoku.
¨
Układ LinearLayout
¨
Układ FrameLayout
Widoki i grupy widoków
187
jesteś tutaj
¨
Układ LinearLayout
¨
Układ FrameLayout
LinearLayout — podsumowanie
Poniżej zamieściliśmy podsumowanie informacji o tworzeniu układów liniowych.
Sposób określania układów liniowych
Układ liniowy tworzymy, używając elementu
<LinearLayout>
. Musimy przy tym określić
szerokość, wysokość oraz orientację układu; podawanie wypełnienia jest opcjonalne:
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical”
...>
...
</LinearLayout>
Widoki są wyświetlane w kolejności, w jakiej podano je w kodzie
Podczas definiowania układu liniowego widoki dodajemy do niego w takiej kolejności,
w jakiej chcemy, aby były wyświetlane.
Widoki można rozciągać, używając wagi
Domyślnie wszystkie widoki zajmują tylko tyle miejsca, ile jest niezbędne do wyświetlenia ich
zawartości. Jeśli chcemy, by któryś z widoków zajął więcej miejsca, możemy go rozciągnąć,
używając atrybutu
layout_weight
:
android:layout_weight=”1”
Położenie zawartości w widoku można określać, używając ciężkości
Położenie zawartości widoku wewnątrz danego widoku możemy określać za pomocą atrybutu
android:gravity
. W ten sposób możemy określić na przykład, gdzie wyświetlić tekst wewnątrz
pola tekstowego.
Do określania położenia widoku w dostępnym dla niego obszarze
służy atrybut layout_gravity
Atrybut
android:layout_gravity
pozwala określać, w którym miejscu obszaru otaczającego
widok w układzie liniowym ma zostać wyświetlony dany widok. Na przykład można go używać,
by przesunąć widok do końcowej krawędzi obszaru lub wyśrodkować w poziomie.
To już wszystko, co chcieliśmy napisać na temat układów liniowych.
Kolejnym układem, który opiszemy, będzie
FrameLayout
—
układ ramki
.
¨
Układ LinearLayout
¨
Układ FrameLayout
Get Android Programowanie aplikacji. Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.