Activity是一個應用程式元件,Activity直觀理解就是手機螢幕上的一個介面,一個單獨的螢幕,它上面可以顯示一些控制元件也可以監聽並處理使用者的事件做出響應。它主要作用是將介面呈現出來,Activity是Android系統中的四大元件之一,可以用於顯示View可視控制元件。Activity中所有操作都與使用者密切相關,是一個負責與使用者互動的元件,可以通過setContentView(view)來顯示指定控制元件。互動的具體作用:一是顯示。二是人機互動。
在MainActivity中重寫Activity父類的Create()方法。onCreate方法為必須重寫的方法。主要工作有以下兩項。
(1)完成佈局介面的顯示:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);}
複製程式碼
(2)建立相關的事件響應:
Button= findViewById(R.id.registered);
registeredButton.setOnClickListener(new View.OnClickListener() {
});
複製程式碼
一、文字控制元件:TextView控制元件和EditText控制元件
在Android基本控制元件中
1、TextView控制元件
TextView控制元件繼承自View類。TextView控制元件的功能是向使用者顯示文字內容,同時可選擇性讓使用者編輯文字。其中TextView不允許編輯,但其子類允許編輯,其佈局程式碼如下:
<TextView
android:id="@+id/text_view2"
android:layout_width="84dp"
android:layout_height="wrap_content"
android:textColorHint="#000000"
android:hint="輸入密碼:"
android:layout_marginLeft="25dp"
android:textSize="15dp"/>
複製程式碼
android:id屬性代表著TextView的Id,也就是TextView的唯一標示,在java程式碼中我們可以通過findViewById()方法來通過Id獲取控制元件。
android:layout_width屬性代表著控制元件的寬度,該屬性的值是84, 表示該控制元件的寬度為84dp。
android:layout_height屬性代表著控制元件的高度,該屬性的值是wrap_content,表示控制元件的高度根據內容的高度進行改變。
android:textSize屬性代表著TextView中文字的型號,也就是文字的大小。
android:textColorHint屬性設定的是TextView中文字的顏色。
android:hint屬性就是用來設定TextView顯示的值。
2、EditText控制元件
EditText控制元件繼承自TextView。EditText與TextView最大的不同是EditText是可以編輯的。
二、按鈕控制元件:Button控制元件和ImageButton控制元件
1、Button控制元件
Button控制元件繼承自TextView類,Button的用法比較簡單,主要是為Button控制元件設定View.OnClickListener.監聽器並在監聽器的實現程式碼中開發按鈕按下事件的處理程式碼,如下面這一段為Button設定監聽的程式碼,它的目的就是實現點選按鈕跳轉介面的功能:
Button= findViewById(R.id.registered);
gisteredButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳轉到註冊(Registered)演示介面
Intent intent=new Intent(MainActivity.this, RegisteredActivity.class);
startActivity(intent);
}
});
複製程式碼
2、ImageButton控制元件繼承自ImageView
ImageButton控制元件ImageButton與Button的最大的區別是ImageButton沒有text屬性,既按鈕中將顯示圖片而不是文字。ImageButton控制元件中設定顯示圖片可以通過android:src屬性,也可以通過setImageResurce(int)方法來實現。
三、狀態開關按鈕(ToggleButton)
ToggleButton的狀態只能是選中和未選中,並且需要為不同的狀態設定不同的顯示文字。除了繼承自父類的一些屬性和方法之外,ToggleButton也具有一些自己的ToggleButton屬性。
四、單選按鈕(CheckBox)和核取按鈕(RoadioButton)
CheckBox和RadioButton都只有選中和未選中兩種狀態,可以通過android:check屬性來設定,如果值設定為true,則預設為勾選。兩者不同的是RadioButton是核取按鈕,需要編制到一個RadioGroup中,其程式碼如下圖:
<RadioGroup
android:id="@+id/group1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/meihua"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="梅花"
android:textSize="20dp" />
<RadioButton
android:id="@+id/shiliuhua"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="35dp"
android:text="石榴花"
android:textSize="20dp" />
<RadioButton
android:id="@+id/xiangyahua"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:text="象牙花"
android:textSize="20dp" />
</RadioGroup>
複製程式碼
同一時刻一個RadioGroup中只能有個一按鈕處於選中狀態,結果如下圖:
五、ImageView控制元件
ImageView控制元件負責顯示圖片,其圖片來源既可以是資原始檔的id,也可以是Drawable物件或Bitmap物件,還可以是ContentProvider的Uri。ImageView中常用的屬性和方法如下:
<ImageView
android:id="@+id/imageView"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:layout_marginTop="20dp"
app:srcCompat="@mipmap/hua" />
複製程式碼
其中app:srcCompat就是填寫圖片存在的路徑。