Układy względne i układy siatki
821
jesteś tutaj
Rozmieszczanie widoków względem innych widoków
Widoki można rozmieszczać nie tylko względem układu nadrzędnego lecz także
względem
innych widoków. To rozwiązanie doskonale się sprawdza, gdy chcemy,
by grupa widoków była wyrównana w taki sam sposób niezależnie od wielkości
i orientacji ekranu.
Aby rozmieścić jeden widok względem innego, w widoku stanowiącym punkt odniesienia
należy określić jego identyfikator, używając atrybutu
android:id:
android:id=”@+id/button_click_me”
Składnia
”@+id”
nakazuje, by Android dodał identyfikator do pliku R.java jako zasób.
Dodanie znaku + jest konieczne zawsze, gdy definiujemy nowy widok w układzie. Jeśli
tego nie zrobimy, to Android nie doda identyfikatora jako zasobu, a w kodzie wystąpią
błędy. Znak + można jednak pominąć jeśli identyfikator już został dodany jako zasób.
Poniżej pokazaliśmy, w jaki sposób można utworzyć dwa przyciski, z których pierwszy
jest umieszczony pośrodku układu, a drugi poniżej pierwszego:
<RelativeLayout ... >
<Button
android:id=”@+id/button_click_me”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerInParent=”true”
android:text=”@string/click_me” />
<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignLeft=”@id/button_click_me”
android:layout_below=”@id/button_click_me”
android:text=”@string/new_button_text” />
</RelativeLayout>
Używamy tego przycisku jako punktu
odniesienia do określenia położenia
drugiego przycisku, dlatego musimy
określić jego identyfikator.
Drugi przycisk ma być
umieszczony poniżej
pierwszego, tak by lewe
krawędzie obu przycisków
były wyrównane.
Poniższe dwa wiersze kodu:
android:layout_alignLeft=”@id/button_click_me”
android:layout_below=”@id/button_click_me”
zapewnią, że drugi przycisk będzie umieszczony poniżej pierwszego, a jego
lewa krawędź będzie wyrównana do lewej krawędzi pierwszego przycisku.
W odwołaniach do widoków, które już zostały
zdefiniowane w układzie, możemy używać
zapisu @id zamiast @+id.

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.