Android基礎及應用 介面設計

Walter Sun發表於2018-04-28

一、實驗目的

1. 熟悉和掌握介面控制元件設計

2. 掌握Android介面佈局

3. 掌握控制元件的事件處理

 

二、實驗過程

1、建立工程

建立一個Android工程,工程名和包名自定義,Activity NameLayout Name修改為有實際含義的名稱,其餘根據實際情況選擇,一路Next,最後點選Finish完成工程建立。

2、新增相關控制元件

開啟res -> layout下的佈局檔案,根據實際情況選擇一種或多種佈局方式,然後分別新增TextViewEditTextRadioGroupCheckBoxSpinnerListViewButton控制元件。其中RadioGroup中加入兩個RadioButton控制元件,分別為“男”和“女”,預設選擇“男”;Spinner控制元件中要加入三個子選項,分別為“計算機”、“軟體工程”和“物聯網”,“計算機”為預設選項;ListView控制元件中加入若干姓名,具體姓名可以自定義。

介面效果如圖1.1所示。

 

3、新增選單

修改原有工程中的選項選單,將Settings”改為“設定”,效果如圖1.2所示。

 

“設定”選單項新增一個“專業設定”子選單項,效果如圖1.3所示。

 

ListView控制元件新增一個快捷選單,包含一個“檢視”選單項,效果如圖1.4所示。

 

4、操作欄

將步驟3中的選項選單“設定”新增到操作欄,效果如圖1.5所示

 

5、介面事件

為步驟2中的“關閉”按鈕新增事件,當點選“關閉”按鈕時則退出程式。

為步驟2中的“新增”按鈕新增事件,當點選“新增”按鈕時儲存一條基本資訊記錄,並將該條記錄的姓名項加入ListView控制元件中,如果姓名為空,則不加入ListView控制元件並給出相應提示,可以利用Toast實現提示。

新增按鍵事件,圖1.1的“身高”和“體重”中只能輸入數字和字元“.”,無法輸入其他字元,當輸入其他字元要給出相應提示,可以利用Toast實現提示。

 

 

 

//設定button新增的內容

        button2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {
// TODO Auto-generated method stub
String name1=name.getText().toString();       //獲取id為name的控制元件的值
if(name1==null||name1.length()<=0)
Toast.makeText(getApplicationContext(), "姓名為空", Toast.LENGTH_LONG).show();
else
if(checkSwim.isChecked()){
                        hobby+="游泳,";
                }
                if(checkBasket.isChecked()){
                        hobby+="籃球  ";
                }
                if(checkTour.isChecked()){
                        hobby+="旅遊 ";
                }
listStudent.add(new Student(name1, height.getText().toString(), weight.getText().toString(), sex, hobby,"計算機"));
list1.add(name1);                         //數列新增name1     
}
});

//設定weight的監聽器,用按鍵事件來控制輸入
        weight.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View arg0, int KeyCode, KeyEvent arg2) {
// TODO Auto-generated method stub

    if(KeyCode>=7&&KeyCode<=16||KeyCode==56||KeyCode==67){

                    return false;

                }

                else{

                	Toast.makeText(getApplicationContext(), "只能輸入數字和字元“.”",Toast.LENGTH_SHORT).show();

return true;

                }

}

});

//設定height的監聽器,用按鍵事件來控制輸入

        height.setOnKeyListener(new View.OnKeyListener() {

@Override

public boolean onKey(View arg0, int KeyCode, KeyEvent arg2) {

// TODO Auto-generated method stub

    if(KeyCode>=7&&KeyCode<=16||KeyCode==56||KeyCode==67){

                    return false;

                }

                else{

                	Toast.makeText(getApplicationContext(), "只能輸入數字和字元“.”",Toast.LENGTH_SHORT).show();

return true;

                }

}

});


相關文章