[Android教學]TextView的基本使用方法

TextView是一個用於在裝置上顯示文字的元件。

extends android.view.View
implements android.view.ViewTreeObserver.OnPreDrawListener

常用屬性

因為TextView的屬性有滿多的,這邊就簡單提一下比較常用的一些屬性。

<TextView
        android:id="@+id/helloworld"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:layout_marginStart="292dp"
        android:layout_marginEnd="301dp"
        android:layout_marginBottom="661dp"
        android:gravity="center"
        android:padding="10dp"
        android:text="@string/helloworld"
        android:textColor="@color/black"
        android:textSize="30sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

layout_width

如果直接查看定義可以知道 layout_width 有三種模式,分別為:fill_parentmatch_parentwrap_content

其實從Android 2.2開始 fill_parent 就改名為 match_parent,因此API 8開始我們可以直接用match_parent來代替fill_parent,如果要使物件寬度填充上層類別建議使用match_parent

如果直接查看 attrs.xml 也可以發現 fill_parent 和 match_parent的值都是 -1。

image 49 [Android教學]TextView的基本使用方法
  • match_parent:該物件寬度(TextView)取決於容器寬度(LinearLayout)。
  • wrap_content:根據物件的內容物件(下層物件)來自動分配寬度。
  • 明確值設定大小:如 200dp。

那layout_height的值也是一模一樣,不再多做解釋。

id

id的用處:使JAVA獲得該TextView

我們在TextView上設置id

android:id="@+id/helloworld"

在java檔內使用findViewById即可獲取TextView

findViewById(R.id.helloworld);

我們還可以這麼寫去修改TextView的值

TextView helloworld = findViewById(R.id.helloworld);
helloworld.setText("你好!");

text

設定TextView顯示的內容

android:text="Hello World!" 

textColor

android:textColor="#FF000000"

前兩位代表顏色的透明度,00為全透明 FF為不透明
後續六位數每兩位數各代表三原色,例如:#FFFF0000 紅、#FF00FF00 綠、#FF0000FF 藍

textSize

android:textSize="30sp" 

sp為Android 上的文字單位。 一般情況下sp = dp。 如果使用者設定文字尺寸是「正常」時1sp = 1dp,但文字尺寸是「大」或「超大」時1sp > 1dp。

gravity

物件默認對齊於左上方,我們可以通過gravity來設定物件放置的位置。
gravity有很多可以設定的值,如:top、bottom、left、right、center_vertical、fill_veritical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal、start、end。

詳細的可以參考官方文檔:https://developer.android.com/reference/android/view/Gravity

補充

剛剛前面我們是直接在TextView上寫上text值和color值,但是正規上我們會將text、color寫在res中。

例如我們會在src/main/res/values/strings.xml中寫上TextView的text內容:

<string name="helloworld">你好!!!</string>

:name不可以重複。

image 51 [Android教學]TextView的基本使用方法

然後我將TextView的text屬性改為string name即可顯示我在strings中設置的內容。

android:text="@string/helloworld"

顏色部分也是,其實默認就有顏色可以選擇,例如:white、black、teal_200、teal700、purple_200、purple_500、purple_700,並且直接使用AS看左側會直接顯示顏色。

android:textColor="@color/black"
image 50 [Android教學]TextView的基本使用方法
0 0 評分數
Article Rating
訂閱
通知
guest

0 Comments
在線反饋
查看所有評論