Android常見控件之TextView、EditView、Button、Menu

一、TextView控件常見的屬性

屬性名稱

描述

android:autoLink

設置是否當文本爲URL鏈接/email/電話號碼/map時,文本顯示爲可點擊的鏈接。可選值(none/web/email/phone/map/all)。這裏只有在同時設置text時才自動識別鏈接,後來輸入的無法自動識別。

android:ems

設置TextView的寬度爲N個字符的寬度。參見TextView中此屬性的截圖

android:

scrollHorizontally

設置文本超出TextView的寬度的情況下,是否出現橫拉條。

android:singleLine

設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,後面用“”來表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"將只顯示“t…”。如果不設置singleLine或者設置爲false,文本將自動換行

android:textColor

設置文本顏色

android:

textColorLink

文字鏈接的顏色.

android:textSize

設置文字大小,推薦度量單位”sp”,如”15sp”

android:textStyle

設置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設置一個或多個,用“|”隔開

android:typeface

設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]

android:height

設置文本區域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)

android:width

設置文本區域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width的區別是更加精確

android:ellipsize

設置當文字過長時,該控件該如何顯示。有如下值設置:”start”—–省略號顯示在開頭;”end”——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)

二、EditText是可編輯的文本框,繼承自TextView,因此屬性基本相同。EditText中的文字可以編輯而TextView只顯示文字,其中的文字不能編輯。EditText和TextView類似於C#中的Label和TextBox控件。

三、Button也繼承自TextView,因此也具有TextView的寬和高設置,文字顯示等一些基本屬性。Button一般會與單擊事件聯繫在一起。爲Button註冊單擊事件有兩種方法:

      1.通過Button控件的setOnClickListener()方法爲Button註冊OnClickListener

 

 public class MyActivity extends Activity {
     
protected void onCreate(Bundle icicle) {
         
super.onCreate(icicle);

         setContentView
(R.layout.content_layout_id);

         
final Button button = (Button) findViewById(R.id.button_id);
         button
.setOnClickListener(new View.OnClickListener() {
             
public void onClick(View v) {
                 
// Perform action on click
             
}
         
});
     
}
 
}

      2.通過使用android:OnClick屬性在xml佈局文件中爲Button指定單擊事件發生時執行的函數。

 

 

 <Button
     
android:layout_height="wrap_content"
     
android:layout_width="wrap_content"
     
android:text="@string/self_destruct"
     
android:onClick="selfDestruct" />

      當用戶點擊了Button時,Android系統調用activity的selfDestruct(View view)方法。指定的這個方法必須是public的,而且只有一個View類型的參數。例如:

 

 

 

 

public void selfDestruct(View view) {
     
// Kabloey
 
}

 

 

      TextView、EditText、Button都可以用setText()方法設置控件中文本的值,也都可以用getText()獲取的控件的文本值。需要注意的是EditText的getText()方法返回的是Editable對象。這個對象與string對象差不多,區別是:當我們修改了一個string對象的值後會返回一個新的string對象。因爲string對象不能修改,所以返回新的對象。而Editable可以修改即返回的是它本身,因此在修改的時候不必創建新的對象,節約了內存。可以用getText().toString()方法將獲得的Editable對象轉換爲string。

四、Menu

      Menu控件不需要添加在xml佈局文件中,需要在Activity中複寫onCreateOptionsMenu(Menu menu)方法,當我們在模擬器或者在手機上點擊Menu按鈕時Android系統會自動調用這個函數,生成相應的菜單選項。我們還需要複寫onOptionsItemSelected(MenuItem item)方法,當用戶選擇某個菜單項時會調用這個函數,從而實現一定的操作。

例如:

Activity01.java

        

       運行結果:

       點擊菜單出現菜單選項。

      

       點擊“退出”後,Activity01結束執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章