Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android

Android od podstaw: rozumienie widoków i grup widoków

by
Difficulty:BeginnerLength:ShortLanguages:
This post is part of a series called Android From Scratch.
Android From Scratch: Common UI Design Patterns
Android From Scratch: Activities and Fragments

Polish (Polski) translation by Mateusz Kurlit (you can also view the original English article)

Oprócz nielicznych skrajnych przypadków, każda aplikacja, którą budujesz, posiada pewną formę interfejsu użytkownika. W Androidzie, możemy to osiągnąć za pomocą obiektów View i ViewGroup. W tym artykule, poznasz niektóre powszechnie spotykane komponenty View przeznaczone do wyświetlania treści i dowiesz się jak z nich korzystać.

1. Widoki

Obiekty View są szczególnie wykorzystywane do rysowania zawartości na ekranie urządzenia z systemem Android. Chociaż możesz wdrożyć View w swoim kodzie Java, najłatwiejszym sposobem jest użycie pliku XML układu. Przykład tego możemy zobaczyć podczas tworzenia prostej aplikacji "Hello World" w Android Studio. Plik układu nazywa się activity_main.xml i wygląda mniej więcej tak:

Powyższy przykład przedstawia typ View, który może być wyświetlony na ekranie. Atrybuty layout_width i layout_height oznaczają, że View powinien zajmować tyle miejsca ile potrzeba do wyświetlenia tekstu "Hello World!". Atrybut id oznacza jak ten View może być widoczny w twoim kodzie Java w ten sposób:

Ponieważ możesz ustawić atrybuty dla View w XML, możesz również zmienić atrybuty w swoim kodzie Java takie jak zmiana tekstu powyższego TextView.

Powyższy kod aktualizuje tekst TextView do "This is a changed View". Tak to wygląda  po uruchomieniu aplikacji.

Example of an Updated TextView

Teraz, gdy wiesz jak pracować z podstawowymi obiektami View, przejdźmy do innych typów dostępnych w Android SDK.

Widoki wyświetlania

TextView

To jest View, który wykorzystaliśmy w powyższym przykładzie. Głównym zadaniem TextView jest wyświetlanie tekstu na ekranie aplikacji. Choć wygląda to na proste zadanie, klasa TextView zawiera skomplikowaną logikę pozwalającą na wyświetlanie oznaczonego tekstu, hiperłączy, numerów telefonów, adresów email i innych przydatnych rzeczy.

ImageView

Jak sama nazwa wskazuje, ImageView został zaprojektowany specjalnie do wyświetlania obrazów na ekranie. Może być użyty do wyświetlania zasobów przechowywanych w aplikacji lub obrazów pobieranych z internetu.

Wejścia i kontrolki

Niektóre obiekty View są wykorzystywane do czegoś więcej niż tylko do wyświetlania treści użytkownikom. Czasami trzeba otrzymać pewnego rodzaju wejście, aby sterować aplikacją. Na szczęście Android zapewnia kilka podklas View przeznaczonych do tego celu.

Button

Klasa Button jest jedną z najbardziej podstawowych kontrolek dostępnych w aplikacji. Nasłuchuje klików użytkownika i wzywa metodę w kodzie, aby odpowiednio zareagować.

Switch i CheckBox

Klasy Switch i CheckBox posiadają stan aktywny i nieaktywny, między którymi można przełączać. Przydatne podczas zmiany ustawień w aplikacji. Wersje zgodne z Material Design są dostępne w bibliotece wsparcia AppCompat.

EditText

Podklasa View jest rozszerzeniem klasy TextView i pozwala użytkownikom na edytowanie zawartego tekstu za pomocą klawiatury.

Widoki bazujące na adapterze

Każdy z powyższych przykładów View jest pojedynczym elementem, ale czasami trzeba wyświetlić zbiór elementów. Te klasy View wymagają użycia Adapter, który radzi sobie z wyświetlaniem odpowiedniego interfejsu użytkownika dla elementu w zbiorze.

ListView

Klasa ListView jest wykorzystywana do wyświetlania zbioru elementów w liniowym, jednokolumnowym i przewijalnym View. Każdy element może być wybrany w celu wyświetlenia większej liczby szczegółów lub przeprowadzenia czynności związanej z tym elementem.

GridView

Podobna klasy ListView, klasa GridView pobiera Adapter i wyświetla elementy w wielu kolumnach na ekranie.

Spinner

Ostatni zbiór klasy View, który poznasz w tym poradniku to klasa Spinner. Akceptuje Adapter i wyświetla elementy w rozwijanym menu po kliknięciu Spinner, aby element mógł zostać wybrany przez użytkownika.

2. Grupy widoku

ViewGroup jest widocznym obiektem wykorzystywanym do przechowywania innych obiektów View i ViewGroup w celu organizacji i sterowania układem ekranu. Obiekty ViewGroup są używane do tworzenia hierarchii obiektów View (zobacz poniżej) umożliwiającą tworzenie bardziej złożonych układów. Biorąc to pod uwagę, im układ jest prostszy, tym bardziej wydajny.

Example of a View Hierarchy

Obiekty ViewGroup mogą być wywołane w ten sam sposób co standardowe elementy View w XML lub w kodzie Java.

Ponieważ wszystkie klasy ViewGroup przeprowadzają podobne zadanie, każda podklasa ViewGroup istnieje dla konkretnego zadania. Rzućmy okiem na niektóre z nich.

LinearLayout

LinearLayout wyświetla elementy w ułożone w kolejności poziomej lub pionowej. Liniowe układ mogą być również użyte do przypisania wag podrzędnym elementom View tak, aby były one rozmieszczone na ekranie w odpowiednim stosunku do siebie.

RelativeLayout

Ta podklasa ViewGroup pozwala na wyświetlanie elementów na ekranie w odniesieniu do siebie, umożliwiając większą elastyczność i swobodę dotyczącą wyświetlania układu w porównaniu do LinearLayout.

FrameLayout

Podklasa zaprojektowana do wyświetlania pojedynczego podrzędnego elementu View , FrameLayout rysuje elementy w stosie i pozwala w prosty sposób wyświetlać element na ekranach o różnych rozmiarach.

ScrollView

Rozszerzenie FrameLayout, klasa ScrollView zajmuje się przewijaniem podrzędnych obiektów na ekranie.

ViewPager

Podklasa używana do zarządzania wieloma widokami wyświetlając tylko jeden w danym momencie, klasa ViewPager akceptuje Adapter i pozwala użytkownikom przesuwać palcem w lewo i prawo, aby zobaczyć wszystkie dostępne elementy View.

RecyclerView

Klasa RecyclerView jest podklasą ViewGroup, która jest związana z klasami ListView i GridView oraz została udostępniona przez Google za pomocą biblioteki wsparcia RecyclerView dla starszych wersji systemu Android. Klasa RecyclerView wymaga zastosowania szablonu pojemnika widoku, który skutecznie utylizuje elementy i obsługuje LayoutManager, dekoratora i animatora elementów, który sprawia, że komponent jest niesamowicie elastyczny kosztem jego prostoty.

CoordinatorLayout

Ostatnio dodany do biblioteki wsparcia projektu, klasa CoordinatorLayout korzysta z obiektu Behavior, aby określać jak elementy podrzędne View powinny być rozmieszczone i przesuwane, gdy użytkownik wchodzi w interakcję z aplikacją.

3. Niestandardowe widoki

Chociaż istnieje wiele różnych klas View i ViewGroup do wykorzystania w twoich aplikacjach, czasami trzeba stworzyć coś nowego do własnych potrzeb. W tym przypadku, możesz stworzyć nową klasę Java, która rozszerza View lub ViewGroup w zależności od tego czego potrzebujesz. Tworzenie nowej niestandardowej podklasy View wychodzi poza zakres tego artykułu, ale możesz znaleźć więcej informacji w tym poradniku Envato Tuts+.

Wnioski

W tym poradniku poznałeś kilka najbardziej podstawowych komponentów systemu Android, układy i widoki. Mając na uwadze jak fundamentalnymi komponentami są dla systemu Android, będziesz nieustannie uczył się o nich nowych rzeczy w miarę postępu w pracy z platformą Android i z ich pomocą odkrywał nowe sposoby na tworzenie niesamowitych rzeczy w swoich projektach.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.