3. Android – TextView


Rozpoczynając tworzenie aplikacji musimy poukładać w widoku nasze klocki, jednym z nich jest warstwa odpowiedzialna za wyświetlanie tekstu, czyli TextView.

TextView jest klasą Javy, która dziedziczy po klasie nadrzędnej View oraz Object.

Każdy element powinien mieć zdefiniowane podstawowe atrybuty np. szerokość i wysokość.

Przejdźmy do Visualizera i rozpocznijmy tworzenie elementów. Objaśnienia poszczególnych atrybutów poniżej kodu:

<TextView
android:text="Witaj w mojej aplikacji!"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="36sp"
android:textStyle="bold|italic"
android:fontFamily="sans-serif"
android:textColor="@android:color/black"
android:background="#c0c0c0"
android:gravity="center"
android:padding="30dp"
android:layout_marginTop="15dp"
/>

android: – oznacza użycie przestrzeni nazw języka XML dedykowanej dla platformy Android, czyli po prostu otwieramy paczkę, z której wyciągamy konkretne atrybuty (to taka jakby ścieżka dostępu).

layout_width, layout_height – szerokość i wysokość elementu, ten zapis stosujemy we wszystkich widokach na jakich pracujemy

  • wrap_content – dynamiczne dostosowanie wielkości do zawartości
  • match_parent – dostosowanie wielkości do elementu nadrzędnego, np. ekranu telefonu
  • dp – np. 300dp, „dp” to jednostka niezależna od rozdzielczości urządzenia i nie wpływają na nią ustawienia telefonu, związana jest z gęstością ekranu (ilość pikseli w określonej przestrzeni ekranu). Zostaje automatycznie przeskalowana na urządzeniach z różną gęstością. 1dp = 1px dla gęstości 160dpi, w przypadku uruchomienia aplikacji na urządzeniu o gęstości innej niż 160, wartość zostanie przeskalowana wg wzoru: px=dp*(dpi/160).

text – treść do wyświetlenia

textSize – rozmiar tekstu, np 36sp, „sp” to jednostka niezależna od rozdzielczości urządzenia, którą można modyfikować ustawieniami urządzenia, związana jest z gęstością ekranu (ilość pikseli w określonej przestrzeni ekranu). Zostaje automatycznie przeskalowana gdy zmienimy w urządzeniu ustawienia rozmiaru czcionki. W trybie „normalny” 1sp=1 * dp, gdzie 1 to współczynnik proporcji dla urządzenia.

textStyle – styl tekstu, domyślnie: normal; za pomocą separatora | można dodawać kolejne własności elementu

textColor – kolor obiektu, podajemy w hexie lub @android:color/black

fontFamily – krój czcionki

background – kolor tła

gravity – położenie elementu, podstawowe ustawienia to:

  • bottom/top
  • left/right
  • center – wyśrodkowanie
  • więcej w dokumentacji

padding – margines wewnętrzny dla wszystkich stron lub paddingLeft, paddingRight, paddingTop, paddingBottom

layout_margin – margines zewnętrzny dla wszystkich stron lub layout_marginLeft, layout_marginRight, layout_marginTop, layout_marginBottom

Zadanie

Przeanalizuj dokumentację elementu TextView. Przypomnij sobie z języka HTML jak należy wyświetlać znaki specjalne w „bezpieczny” sposób i odtwórz w kodzie XML następujący widok: