Android - układy interfejsu użytkownika

Podstawowym blokiem konstrukcyjnym interfejsu użytkownika jest plik Viewobiekt, który tworzony jest z klasy View i zajmuje prostokątny obszar na ekranie i odpowiada za rysowanie i obsługę zdarzeń. Widok jest klasą bazową dla widżetów, które służą do tworzenia interaktywnych komponentów interfejsu użytkownika, takich jak przyciski, pola tekstowe itp.

Plik ViewGroup jest podklasą klasy View i zapewnia niewidoczny kontener, który przechowuje inne widoki lub inne grupy widoków i definiuje ich właściwości układu.

Na trzecim poziomie mamy różne układy, które są podklasami klasy ViewGroup, a typowy układ definiuje strukturę wizualną interfejsu użytkownika Androida i może być tworzony w czasie wykonywania przy użyciu View/ViewGroup obiekty lub możesz zadeklarować swój układ za pomocą prostego pliku XML main_layout.xml który znajduje się w folderze res / layout projektu.

Parametry układu

Ten samouczek zawiera więcej informacji na temat tworzenia GUI na podstawie układów zdefiniowanych w pliku XML. Układ może zawierać wszelkiego rodzaju widżety, takie jak przyciski, etykiety, pola tekstowe i tak dalej. Poniżej znajduje się prosty przykład pliku XML z LinearLayout -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a TextView" />
      
   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a Button" />
      
   <!-- More GUI components go here  -->
   
</LinearLayout>

Po utworzeniu układu możesz załadować zasób układu z kodu aplikacji w implementacji wywołania zwrotnego Activity.onCreate (), jak pokazano poniżej -

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

Typy układów systemu Android

Istnieje wiele układów dostarczonych przez system Android, których będziesz używać w prawie wszystkich aplikacjach na Androida, aby zapewnić inny widok, wygląd i styl.

Sr.No Układ i opis
1 Układ liniowy

LinearLayout to grupa widoków, która wyrównuje wszystkie elementy podrzędne w jednym kierunku, w pionie lub w poziomie.

2 Względny układ

RelativeLayout to grupa widoków, która wyświetla widoki podrzędne w pozycjach względnych.

3 Układ tabeli

TableLayout to widok grupujący widoki w wiersze i kolumny.

4 Układ absolutny

AbsoluteLayout umożliwia określenie dokładnej lokalizacji jego elementów podrzędnych.

5 Układ ramek

FrameLayout to element zastępczy na ekranie, którego można użyć do wyświetlenia pojedynczego widoku.

6 Widok listy

ListView to grupa widoków, która wyświetla listę elementów przewijalnych.

7 Widok siatki

GridView to ViewGroup, który wyświetla elementy w dwuwymiarowej, przewijalnej siatce.

Atrybuty układu

Każdy układ ma zestaw atrybutów, które definiują właściwości wizualne tego układu. Istnieje kilka wspólnych atrybutów wśród wszystkich układów i są to inne atrybuty specyficzne dla tego układu. Poniżej przedstawiono typowe atrybuty, które zostaną zastosowane do wszystkich układów:

Sr.No Atrybut i opis
1

android:id

To jest identyfikator, który jednoznacznie identyfikuje widok.

2

android:layout_width

To jest szerokość układu.

3

android:layout_height

To jest wysokość układu

4

android:layout_marginTop

To jest dodatkowa przestrzeń w górnej części układu.

5

android:layout_marginBottom

To jest dodatkowa przestrzeń w dolnej części układu.

6

android:layout_marginLeft

To jest dodatkowa przestrzeń po lewej stronie układu.

7

android:layout_marginRight

To jest dodatkowa przestrzeń po prawej stronie układu.

8

android:layout_gravity

Określa, jak pozycjonowane są podrzędne widoki.

9

android:layout_weight

Określa, ile dodatkowego miejsca w układzie powinno zostać przydzielone do widoku.

10

android:layout_x

Określa współrzędną x układu.

11

android:layout_y

Określa współrzędną y układu.

12

android:layout_width

To jest szerokość układu.

13

android:paddingLeft

To jest wypełnienie po lewej stronie układu.

14

android:paddingRight

To jest właściwe wypełnienie dla układu.

15

android:paddingTop

To jest górna wyściółka wypełniona dla układu.

16

android:paddingBottom

To dolna wyściółka wypełniona dla układu.

Tutaj szerokość i wysokość to wymiar układu / widoku, który można określić w kategoriach dp (piksele niezależne od gęstości), sp (piksele niezależne od skali), pt (punkty, które stanowią 1/72 cala), px ( Piksele), mm (milimetry) i wreszcie w (calach).

Możesz określić szerokość i wysokość za pomocą dokładnych pomiarów, ale częściej będziesz używać jednej z tych stałych do ustawiania szerokości lub wysokości -

  • android:layout_width=wrap_content nakazuje widokowi dopasować się do wymiarów wymaganych przez jego zawartość.

  • android:layout_width=fill_parent mówi Twojemu widokowi, aby stał się tak duży jak jego widok macierzysty.

Atrybut grawitacji odgrywa ważną rolę w pozycjonowaniu obiektu widoku i może przyjmować jedną lub więcej (oddzielonych znakiem „|”) z następujących stałych wartości.

Stały Wartość Opis
Top 0x30 Wepchnij obiekt na górę pojemnika, nie zmieniając jego rozmiaru.
Dolny 0x50 Wepchnij przedmiot na dno pojemnika, nie zmieniając jego rozmiaru.
lewo 0x03 Przesuń obiekt na lewo od pojemnika, nie zmieniając jego rozmiaru.
dobrze 0x05 Przesuń obiekt na prawo od jego pojemnika, nie zmieniając jego rozmiaru.
center_vertical 0x10 Umieść obiekt w pionowym środku pojemnika, nie zmieniając jego rozmiaru.
fill_vertical 0x70 W razie potrzeby zwiększ rozmiar obiektu w pionie, aby całkowicie wypełnił pojemnik.
center_horizontal 0x01 Umieść obiekt w poziomym środku pojemnika, nie zmieniając jego rozmiaru.
fill_horizontal 0x07 W razie potrzeby zwiększ rozmiar poziomy obiektu, aby całkowicie wypełnił swój pojemnik.
środek 0x11 Umieść obiekt w środku pojemnika w osi pionowej i poziomej, nie zmieniając jego rozmiaru.
napełnić 0x77 W razie potrzeby zwiększ poziomy i pionowy rozmiar obiektu, aby całkowicie wypełnił swój pojemnik.
clip_vertical 0x80 Dodatkowa opcja, którą można ustawić tak, aby górna i / lub dolna krawędź dziecka była przycinana do granic jego kontenera. Klip będzie oparty na grawitacji pionowej: grawitacja górna przycina dolną krawędź, grawitacja dolna przycina górną krawędź i żadna z nich nie przycina obu krawędzi.
clip_horizontal 0x08 Dodatkowa opcja, którą można ustawić tak, aby lewa i / lub prawa krawędź dziecka były przycinane do granic jego kontenera. Klip będzie oparty na grawitacji poziomej: grawitacja po lewej stronie przycina prawą krawędź, grawitacja po prawej przycina lewą krawędź i żadna z nich nie przycina obu krawędzi.
początek 0x00800003 Wypchnij obiekt na początek pojemnika, nie zmieniając jego rozmiaru.
koniec 0x00800005 Wepchnij obiekt do końca pojemnika, nie zmieniając jego rozmiaru.

Wyświetl identyfikację

Obiekt widoku może mieć przypisany unikalny identyfikator, który będzie jednoznacznie identyfikował widok w drzewie. Składnia identyfikatora wewnątrz znacznika XML to -

android:id="@+id/my_button"

Poniżej znajduje się krótki opis znaków @ i + -

  • Symbol at (@) na początku ciągu wskazuje, że parser XML powinien przeanalizować i rozwinąć pozostałą część ciągu identyfikatora i zidentyfikować go jako zasób identyfikatora.

  • Symbol plusa (+) oznacza, że ​​jest to nowa nazwa zasobu, który należy utworzyć i dodać do naszych zasobów. Aby utworzyć wystąpienie obiektu widoku i przechwycić go z układu, użyj następującego -

Button myButton = (Button) findViewById(R.id.my_button);