Android的基本控制元件
常用介面控制元件
TextView 顯示文字資訊 button 普通按鈕 EditText 可編輯的文字框元件(輸入框) ImageView 用於顯示圖片 ImageBUtton 圖片按鈕 CheckBox 核取方塊 RadioGroup 單選按鈕組 Spinner 下拉選單元件 ProgressBar進度條 SeekBar拖動條 RatingBar評分元件 ListView列表 Dialog對話方塊 Toast資訊提示元件 所有控制元件的基類為View,ViewGroup繼承於View,它可以含有其他的View,就像一個View的容器。
TextView
TextView控制元件繼承自View類,位於android.widget包中。TextView控制元件的功能是向使用者顯示文字的內容,但是不允許編輯的,常用屬性如下所示:
android:layout_widt設定控制元件的寬度 android:layout_height設定控制元件的高度 android:id設定元件的ID android:text設定文字內容 android:textColor設定文字顏色 android:textSize設定文字大小 android:background設定控制元件的背景色 android:gravity設定文字相對控制元件地位置 android:layout_gravity設定控制元件相對其所在容器的位置 TextView控制元件的使用首先要增加到佈局檔案中,即res/layout/main.xml檔案中。
初始新增的TextView控制元件預設形式,如需要修改TextView的顯示內容、字型大小等,有以下兩種方式
(1).可以在XML中修改某個屬性的值來控制控制元件的表現形式。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvl"
android:background="#ffffff"
android:text="@string/app_name"
android:textColor="#0000FF"
android:textSize="20sp"
/>
複製程式碼
android屬性宣告瞭TextViewDE的ID,這個ID主要用於在程式碼中引用這個TextView物件。“@+id/tvl”表示所設定的Id值,@表示後面的字串是ID資源,加號(+)表示需要建立新資源名稱,並新增到R.java檔案中,斜杆後面的字串(tvl)表示新資源的名稱。
(2).可以通過程式碼獲取這個控制元件的物件來修改其屬性。
1.View在XML中必須已配置id。
2.通過View的findViewById(int id)修改屬性。
import android.widget.TextView;
public class sxn extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.tvl);
tv.setText("hello world");
tv.setTextSize(20);
tv.setTextColor(0xffffffff);
tv.setBackgroundColor(0xff0000ff);
}
}
複製程式碼
EditText
EditText是一個非常重要的元件,它是使用者和Android應用進行資料傳輸的視窗,有了它就等於有了一扇和Android應用傳輸的“門”,通過它,使用者可以把資料傳給Android應用,然後得到使用者想要的資料。
EditText繼承自Android.widget.TextView,在android.widget包中,EditText是TextView的子類,具有TextView的屬性特點
android:inputType 設定文字的型別 android:digits 設定允許輸入哪些字元 android:hint 設定編輯框內容為空時顯示的提示資訊 android:password 設定只能輸入密碼,以“,”顯示文字 android:singleLine 設定文字單行顯示 android:editable 設定是否可編輯 android:requestFocus()使當前元件物件獲得焦點 android:phoneNumber 設定電話號碼的輸入方式 android:ems 設定控制元件的寬度為N個字元
Button
button控制元件是一種按鈕控制元件,使用者可以在該控制元件上單擊,並能引發相應的事件處理函式,Button繼承自android.widget.TextView ,在android.widget包中,其常用子類自CheckBox、RadioButton、ToggleButton等。
Button的基本使用方法有以下幾種。
(1)新增Button控制元件到xml佈局檔案中,也可以通過程式新增。
在佈局檔案中設定按鈕的一些屬性,如位置、寬高、按鈕上的文字,顏色等,比較重要的是要給按鈕一個ID,這是按鈕唯一的名稱。
(2).處理按鈕的單擊事件。
按鈕單擊右如下兩種處理方法。
1.通過onClick屬性 設定處理單擊事件的方法名,在Acivity中實現這個方法。 在XML佈局檔案中設定Button的屬性,即android:onClik="myclick",然後在該佈局檔案對應的Activity中實現該方法。
Activity的應用總結
什麼是Activity呢?
Activity是與Android app提供互動的重要元件。Activity負責建立一個視窗,在這個視窗基礎上開發者可以通過setContentiew新增UI,Activity預設全屏顯示也可以作為浮動視窗顯示。 Activity存在的目的是為了降低耦合,把使用者自定義與系統呼叫分離開。 例如Activity提供如下處理:
控制視窗層級與顯示關係(例如當前頁面有多個彈出視窗,多個Toast每個Dialog與Toat都是新的視窗)
在視窗中按照建立setContentView傳遞View物件建立介面。
在視窗與檢視上處理觸控事件、硬鍵盤事件、滾輪事件。
在當前檢視進行繪製、響應視窗所有事件。
控制輸入法在當前視窗的顯示與隱藏。 1、不設定Activity的android:configChanges時,切屏會重新呼叫各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次
2、設定Activity的android:configChanges="orientation"時,切屏還是會重新呼叫各個生命週期,切橫、豎屏時只會執行一次
3、設定Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新呼叫各個生命週期,只會執行onConfigurationChanged方法
總結一下整個Activity的生命週期
補充一點,當前Activity產生事件彈出Toast和AlertDialog的時候Activity的生命週期不會有改變
Activity執行時按下HOME鍵(跟被完全覆蓋是一樣的):onSaveInstanceState --> onPause --> onStop onRestart -->onStart--->onResume