




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
7Android基本組件之常用widget組件介紹(CheckBox
,RadioBox,Spinner,AutoCompleteTextView)學(xué)習(xí)目標(biāo)★掌握Android中常用的widget組件★應(yīng)用widget組件制作自己的UI應(yīng)用★多項(xiàng)選擇(CheckBox)介紹與應(yīng)用★單項(xiàng)選擇(RadioBox)介紹與應(yīng)用★下拉列表(Spinner)介紹與應(yīng)用★自動(dòng)完成文本(AutoCompleteTextView)多項(xiàng)選擇(CheckBox)介紹與應(yīng)用
CheckBox是一個(gè)使用頻繁的組件,一般用來提供給用戶輸入信息的組件,可以一次選擇多個(gè)選項(xiàng)。這個(gè)組件解決了在不是很方便的手機(jī)屏幕上操作輸入時(shí),用選擇組件供用戶單擊輸入選項(xiàng),顯得非常有用。在Android中,和其他組件一樣,也是在XML中定義,所以緊接我們上一次課的項(xiàng)目,在main.xml文件中先增加一個(gè)按鈕“哥顯示的是多選框”,單擊該按鈕程序運(yùn)行將展示介紹CheckBox的界面。
<Button
android:id="@+id/check_box_button"
android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="哥顯示的是多選框"/>設(shè)定完按鈕后,編寫響應(yīng)代碼:多項(xiàng)選擇(CheckBox)介紹與應(yīng)用Buttoncheck_box_button=(Button)findViewById(R.id.check_box_button);check_box_button.setOnClickListener(check_box_button_listener);……privateButton.OnClickListenercheck_box_button_listener=newButton.OnClickListener(){public
voidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,CheckBoxActivity.class);startActivity(intent);}};多項(xiàng)選擇(CheckBox)介紹與應(yīng)用在單擊按鈕后,會(huì)啟動(dòng)一個(gè)新的CheckBoxActivity,所以這里我們應(yīng)該創(chuàng)建一個(gè)新的CheckBoxActivity.java文件。實(shí)現(xiàn)代碼如下:public
voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);setTitle("哥就是現(xiàn)實(shí)里的多選框...");setContentView(R.layout.check_box);find_and_modify_text_view();}在上面代碼我們可以看到,調(diào)用了一個(gè)check_box.xml的文件,所以,我們要設(shè)計(jì)一下顯示的多選框的樣式,對(duì)應(yīng)設(shè)計(jì)代碼如下:代碼見mouse_widget中的check_box.xml文件。接著在AndroidManifest.xml中添加如下代碼:<activity
android:name="CheckBoxActivity"></activity>多項(xiàng)選擇(CheckBox)介紹與應(yīng)用在check_box.xml中我們創(chuàng)建了4個(gè)多選框,一個(gè)按鈕(用來獲取多選框的值)和一個(gè)文本框。文本框用來顯示上面多選框選中的值。這里獲取邊串聯(lián)多選框內(nèi)容的代碼如下:privateButton.OnClickListenerget_view_button_listener=newButton.OnClickListener(){public
voidonClick(Viewv){Stringr="";if(plain_cb.isChecked()){r=r+","+plain_cb.getText();}if(serif_cb.isChecked()){r=r+","+serif_cb.getText();}if(italic_cb.isChecked()){r=r+","+italic_cb.getText();}if(bold_cb.isChecked()){r=r+","+bold_cb.getText();}TextViewedit_text_view=(TextView)findViewById(R.id.edit_text_view);edit_text_view.setText("80后的幸福生活"+r);}};多項(xiàng)選擇(CheckBox)介紹與應(yīng)用完成后顯示界面如下:選擇前的CheckBOX界面選擇后的CheckBox界面
單項(xiàng)選擇(RadioGroup)介紹和應(yīng)用RadioGroup提供了一種多選一的選擇模式,也是經(jīng)常應(yīng)用的組件。這里現(xiàn)在main.xml中添加一個(gè)按鈕,單擊按鈕會(huì)啟動(dòng)這個(gè)RadioGroupActivity,添加Button的代碼如下:
<Button
android:id="@+id/radio_group_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="哥顯示的是單選框"
/>
定義一個(gè)id為“radio_group_button”的按鈕,并設(shè)定其寬度和高度都是和內(nèi)容自適應(yīng),并設(shè)定其顯示文字為“哥顯示的是單選框”。
其對(duì)應(yīng)的響應(yīng)代碼如下:單項(xiàng)選擇(RadioGroup)介紹和應(yīng)用
Buttonradio_group_button=(Button)findViewById(R.id.radio_group_button);radio_group_button.setOnClickListener(radio_group_button_listener);……privateButton.OnClickListenerradio_group_button_listener=newButton.OnClickListener(){public
voidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,RadioGroupActivity.class);startActivity(intent);}};這里和CheckBox一樣創(chuàng)建了一個(gè)新的Activity,名字叫RadioGroupActivity。同時(shí)創(chuàng)建radio_group.xml的界面UI文件,代碼見radio_group.xml下面我們來看下RadioGroupActivity.java中的代碼:單項(xiàng)選擇(RadioGroup)介紹和應(yīng)用protected
voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);setContentView(R.layout.radio_group);setTitle("哥是孤單的單選框...");
mRadioGroup=(RadioGroup)findViewById(R.id.menu);ButtonclearButton=(Button)findViewById(R.id.clear);clearButton.setOnClickListener(this);}
public
voidonClick(Viewv){
mRadioGroup.clearCheck();}接著在AndroidManifest.xml中添加如下代碼:<activity
android:name="RadioGroupActivity"></activity>下面是項(xiàng)目效果圖:單項(xiàng)選擇(RadioGroup)演示效果圖
RadioGroup顯示RadioGroup選中后顯示下拉列表(Spinner)介紹和應(yīng)用Spinner提供一種下拉列表選擇的輸入方式,在手機(jī)應(yīng)用界面上非常常見,其可以節(jié)省有限的屏幕空間占用。和前面一樣,現(xiàn)在先在main.xml中添加一個(gè)按鈕:<Button
android:id="@+id/spinner_button"
android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="哥顯示的是下拉列表"/>單擊按鈕,會(huì)響應(yīng)生成一個(gè)新的Activity,響應(yīng)代碼如下:privateButton.OnClickListenerspinner_button_listener=newButton.OnClickListener(){public
voidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,SpinnerActivity.class);startActivity(intent);}};下拉列表(Spinner)介紹和應(yīng)用單擊按鈕,啟動(dòng)SpinnerActivity,這里要新建一個(gè)SpinnerActivity.java來響應(yīng)Spinner組件的界面。這里還要?jiǎng)?chuàng)建spinner.xml文件,代碼見項(xiàng)目中的spinner.xml.public
voidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setTitle("哥是拽拽的下拉菜單...");setContentView(R.layout.spinner);}spinner.xml模板文件中定義了一個(gè)TextView組件和一個(gè)Spinner組件。接著在AndroidManifest.xml中添加如下代碼:<activity
android:name="SpinnerActivity"></activity>然后在下拉條中填充數(shù)據(jù),代碼如下:下拉列表(Spinner)介紹和應(yīng)用
private
static
finalString[]lmCountries={"人類","侏儒","矮人","暗夜精靈","德萊尼","狼人"};然后在onCreate方法中調(diào)用finde_and_modify_view()載入數(shù)據(jù).代碼如下:這里內(nèi)容填充的是魔獸世界中聯(lián)盟的種族,請(qǐng)學(xué)員仿照該代碼編寫部落的種族下拉菜單,并且在spinner.xml添加相應(yīng)的組件UI。spinner_lm=(Spinner)findViewById(R.id.spinner_lm);allcountries=newArrayList<String>();for(inti=0;i<lmCountries.length;i++){allcountries.add(lmCountries[i]);}aspnCountries=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,allcountries);aspnCountries.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner_lm.setAdapter(aspnCountries);下拉列表(Spinner)界面展示Spinner初始界面點(diǎn)開聯(lián)盟種族界面點(diǎn)開部落種族界面下拉列表(Spinner)介紹和應(yīng)用除了上面那種指定spinner內(nèi)容的方法外,還可以在XML文件中預(yù)先定義數(shù)據(jù),為了說明這個(gè)方法,在spinner.xml這個(gè)模板中再添加一個(gè)spinner組件,內(nèi)容是魔獸世界中的十大職業(yè)。實(shí)現(xiàn)代碼如下:<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="從xml數(shù)據(jù)庫中讀取職業(yè):"
/>
<Spinner
android:id="@+id/spinner_pro"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false"/>在spinnerActivity.java中可以這樣來初始化,代碼如下:下拉列表(Spinner)介紹和應(yīng)用spinner_pro=(Spinner)findViewById(R.id.spinner_pro);ArrayAdapter<CharSequence>adapter=ArrayAdapter.createFromResource(
this,R.array.countries,android.R.layout.simple_spinner_item);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_pro.setAdapter(adapter);上述代碼是將R.對(duì)應(yīng)的值載入到spinner_pro中,而R.對(duì)應(yīng)的值是在xml文件中預(yù)先定義的,其方法是在res/values/目錄下新建一個(gè)名為array.xml的文件,代碼詳情參見array.xml。運(yùn)行結(jié)果如下:下拉列表(Spinner)界面展示Spinner界面Spinner_pro顯示效果自動(dòng)完成文本(AutoCompleteTextView)
除了前面介紹的Spinner組件外,Android還提供了一種節(jié)省界面空間的輔助輸入方式AutoCompleteTextView。顧名思義特點(diǎn)就是自動(dòng)完成文本的輸入。同樣先在main.xml文件上添加一個(gè)打開AutoCompleteTextView的入口按鈕,XML文件代碼如下:<Button
android:id="@+id/auto_complete_button"
android:layout_width="wrap_content"android:layout_height="wrap_content"
android:text="哥顯示的是自動(dòng)完成文本"
/>然后添加其響應(yīng)代碼:自動(dòng)完成文本(AutoCompleteTextView)Buttonauto_complete_button=(Button)findViewById(R.id.auto_complete_button);auto_complete_button.setOnClickListener(auto_complete_button_listener);privateButton.OnClickListenerauto_complete_button_listener=newButton.OnClickListener(){public
voidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,AutoCompleteTextViewActivity.class);startActivity(intent);}};自動(dòng)完成文本(AutoCompleteTextView)
然后創(chuàng)建AutoCompleteTextViewActivity.java文件,并設(shè)定其模板為autocomplete.xml,在autocomplete.xml文件中添加一個(gè)AutoCompleteTextView組件,代碼實(shí)現(xiàn)如下:<AutoCompleteTextView
android:id="@+id/auto_complete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
定義一個(gè)id為“auto_complete”的AutoCompleteTextView組件,并設(shè)定其寬度,高度和內(nèi)容自適應(yīng)。
然后在AutoCompleteTextViewActivity.java文件中完成將數(shù)據(jù)綁定在這個(gè)組件上。首先定義一組需要綁定的數(shù)據(jù):static
finalString[]pro=newString[]{"Warrior","Paladin","DeadKnight","Shaman","Hunter","Druid","Rogue","Mage","Warlock","priest","Warrior1","Paladin1","DeadKnight1","Shaman1","Hunter1","Druid1","Rogue1","Mage1","Warloc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息傳遞的有效性與準(zhǔn)確性計(jì)劃
- 輸血護(hù)理查對(duì)制度
- 《貴州林東礦業(yè)集團(tuán)有限責(zé)任公司百里杜鵑風(fēng)景名勝區(qū)金坡鄉(xiāng)紅林煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 第六單元寫作《表達(dá)要得體》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文八年級(jí)上冊(cè)
- 2025年繪畫防疫創(chuàng)意口罩標(biāo)準(zhǔn)教案
- 2025年濟(jì)南貨運(yùn)從業(yè)資格證試題和答案
- 2025年濰坊道路貨運(yùn)從業(yè)資格證模擬考試官方題下載
- 2025年銅川貨運(yùn)上崗證考試題庫
- 2025年?duì)I口貨車從業(yè)資格證理考試
- 2025年安康道路貨運(yùn)輸從業(yè)資格證模擬考試題庫
- 2024年中國科學(xué)技術(shù)大學(xué)創(chuàng)新科學(xué)營測試數(shù)學(xué)試題真題
- 創(chuàng)新者的窘境讀書課件
- 《客艙安全與應(yīng)急處置》-課件:釋壓的類型和跡象
- (2024年)量子計(jì)算機(jī)課件(精)
- 任務(wù) 離心式壓縮機(jī)的性能曲線
- 海上風(fēng)電場選址與評(píng)估技術(shù)
- 港口航運(yùn)運(yùn)營管理專業(yè)總復(fù)習(xí)試題(四)及答案
- 《數(shù)字電子技術(shù)基礎(chǔ) 第4版》 課件 第 1 章 數(shù)字電路基礎(chǔ)(第4版)
- 高速鐵路客運(yùn)組織與服務(wù)通用課件
- 電氣設(shè)備試驗(yàn)、檢驗(yàn)、調(diào)試記錄
- 物業(yè)管理費(fèi)測算及物業(yè)增收途徑課件
評(píng)論
0/150
提交評(píng)論