《Android》『TextView』- TextView 的基本用法
《Android Developers 參考文獻》
《繼承架構》
extends View
implements ViewTreeObserver.OnPreDrawListener
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
《簡單介紹》
TextView 照字面翻的意思就是文字視圖,顧名思義,它是一個用以在裝置上顯示文字的元件。
《常用屬性》
TextView 中可以使用的屬性有很多,在 Android Developers 中有很詳盡的描述,這邊直接以實作片段的方式,列出幾個常用的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<TextView android:id="@+id/myTextView" //元件id android:layout_width="match_parent" //元件寬度 android:layout_height="wrap_content" //元件長度 android:layout_gravity="center" //此TextView元件在其父元件(Ex: LinearLayout)中的相對位置 android:gravity="center" //此TextView元件中所顯示的文字,在其本身元件(TextView)中的位置 android:text="@string/hello" //設定文字內容 android:textSize="12sp" //設定文字大小 android:textColor="@android:color/white" //設定文字顏色 android:background="@android:color/darker_gray" //設定元件背景顏色 android:typeface="normal" //設定字型 android:drawableLeft ="@drawable/ic_quick_call_normal" //在左邊附帶圖案 android:drawableRight ="@drawable/ic_quick_call_normal" //在右邊附帶圖案 android:drawableTop ="@drawable/ic_quick_call_normal" //在上方附帶圖案 android:drawableBottom ="@drawable/ic_quick_call_normal" //在下方附帶圖案 android:padding="10dp" //此TextView元件中所顯示的文字, //在其本身元件(TextView)中,與本身元件四周邊的距離 android:layout_margin="10dp" //此TextView元件在其父元件(Ex: LinearLayout)中, //與父元件四周邊的距離 /> |
TextView 介面元件範例
除了可以於介面宣告時直接於.xml檔做設定,亦可以於程式碼中,直接利用程式碼對於特定的屬性作動態的設定以及修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
TextView myTextView = new TextView(this); //宣告 myTextView 物件 myTextView.setText("Hello~"); //設定文字 myTextView.setTextSize(30); //設定文字大小 myTextView.setTextColor(Color.RED); //設定文字顏色 myTextView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD); //設定字型 Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Bleeding Cowboys.ttf"); myTextView.setTypeface(font); //設定自訂字型 myTextView.append("12345"); //於文末加入"12345"字串 myTextView.append("12345", 2, 5); //於文末加入"345"字串 myTextView.setBackgroundColor(Color.WHITE); //設定背景顏色 myTextView.setPadding(35, 50, 35, 50); //設定此TextView元件中所顯示的文字, //在其本身元件(TextView)中,與本身元件四周邊的距離(左、下、右、上) myTextView.setWidth(500); //設定寬度 myTextView.setHeight(500); //設定長度 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.RIGHT; myTextView.setLayoutParams(lp); //setLayoutParams方法是由子元件對向父佈局的,在此範例中, //myTextView元件的父元件為LinearLayout,因此lp宣告為LinearLayout.LayoutParams, //這樣的宣告表示了這個子元件的父佈局是一個LinearLayout, //透過宣告出的lp物件,可以在程式中對父佈局做進一步的動態設定, //最後藉由.setLayoutParams(lp)的方式,將lp的設定覆蓋該子元件的父佈局設定。 myTextView.setGravity(Gravity.CENTER); //此TextView元件中所顯示的文字,在其本身元件(TextView)中的位置 |
TextView 動態設定介面範例
這邊特別講解一下 setLayoutParams 這個方法,setLayoutParams 是由『子元件』對向『父佈局』的,在此範例中,myTextView 元件的父佈局為 LinearLayout,因此 lp 宣告為 LinearLayout.LayoutParams,這樣的宣告表示了這個子元件的父佈局是一個 LinearLayout,透過宣告出的 lp 物件,可以在程式中對父佈局做進一步的動態設定,最後藉由 myTextView.setLayoutParams(lp) 的方式,將lp的設定覆蓋掉該子元件原本的父佈局設定。
延伸閱讀:
臉書留言
一般留言