由於這幾個控制項都是比較常用的控制項,所以在進行操作的時候會比較常用,所以這個部分算是Android軟體開發的重要部分,內容比較簡單。分類型進行介紹
1.單選框操作:單選框在Android裡面隨處可見,它是由兩部分組成的,一部分是RadioGroup,一部分是RadioButton。一個RadioGroup裡面是有多個RadioButton。每個RadioButton就是一個單選項,而控制的時候是控制RadioGroup。下面是Xml和代碼的實現部分
xml:
- <RadioGroup
- Android:id = "@+id/genderGroup"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:orientation = "horizontal"
- >
-
- <RadioButton
- Android:id = "@+id/femaleButton"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:text = "@string/female"/>
-
- <RadioButton
- Android:id = "@+id/maleButton"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:text = "@string/male"/>
- </RadioGroup>
上面定義了一個簡單的RadioGroup和RadioButton的顯示。
下面是綁定這個控制項的事件的作業碼:
- //通過綁定genderGroup的OnCheckedChangeListener的方法來進行事件響應
- genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(RadioGroup group, int checkedId) {
- if(femaleButton.getId() ==checkedId){
- System.out.println("female");
- Toast.makeText(Activity07.this, "女", Toast.LENGTH_SHORT).show();
- }else if(maleButton.getId() == checkedId){
- System.out.println("male");
- Toast.makeText(Activity07.this, "男", Toast.LENGTH_SHORT).show();
- }
- }
- });
2.彈出框(Toast)彈出框的事件跟Swing的JOptionPane很像,但是它是叫Toast,使用的方法就是在你需要彈出資訊的地方加上:Toast.makeText(這裡是你要彈出的類對象名,這個是你要彈出的字串 , 這個是你要彈出的長度大小)。具體例子看上面一段Java代碼的最後一行。彈出框不需要在xml裡面進行配置。
3.複選框(checkBox):複選框就沒有單選框那樣有組的概念了,所以複選框的操作和單選框比起來就會比較複雜一點點,因為你要對每個複選框都進行一個事件響應。下面是一個複選框的例子。
- <CheckBox
- Android:id = "@+id/swim"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:text = "@string/swim"/>
-
- <CheckBox
- Android:id = "@+id/run"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:text = "@string/run"/>
-
- <CheckBox
- Android:id = "@+id/read"
- Android:layout_width = "wrap_content"
- Android:layout_height = "wrap_content"
- Android:text = "@string/read"/>
下面是時間響應的代碼:
- //綁定checkBox的監聽器和radioGroup的方法是不一樣的,要注意區別
- swimCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- System.out.println("swim is checked");
- }else {
- System.out.println("swim is unChecked");
- }
- }
- });
- runCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- System.out.println("run is checked");
- }else {
- System.out.println("run is unChecked");
- }
- }
- });
- readCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- System.out.println("read is checked");
- }else {
- System.out.println("read is unChecked");
- }
- }
- });