一、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結束執行。