編輯:Android開發教程
一、RadioGroup和RadioButton
RadioButton單選按鈕是一種雙狀態的按鈕,可以選擇或不選中。在單選按鈕 沒有被選中時,用戶能夠按下或點擊來選中它。但是,與復選框相反,用戶一旦 選中就不能夠通過界面取消選中,但是可以通過代碼來取消選中狀態。
RadioGroup用於創建一組選中狀態相互排斥的單選按鈕組。一個組中,只有 一個按鈕可以被選中,選中了一個RadioButton會自動取消其它按鈕的選中狀態 。初始狀態下,所有的單選按鈕都未勾選,雖然不能取消一個特定的單選按鈕的 勾選狀態,但可以通過單選按鈕組去消除它的勾選狀態。RadioGroup和 RadioButton通常是放在一起使用的。
Interface RadioGroup.OnCheckedChangeListener是當單選按鈕組中的單選 按鈕的勾選狀態發生改變時,所要調用的回調函數的接口類。當我們希望當 RadioGroup中的RadioButton按鈕的選中狀態改變時執行相應的操作,為 RadioGroup添加監聽器。在這個類中我們需要復寫public void onCheckedChanged(RadioGroup group, int checkedId)方法,這個方法的兩個 參數分別為傳遞進來的組以及組中選中的RadioButton的id。我們可以通過這個 id來判斷哪一個按鈕被選中,從而執行相應的操作。
二、CheckBox
CheckBox繼承自CompoundButton,是有雙狀態按鈕的復選框,可以選中也可 以不選中。CheckBox沒有組的概念,可以獨立使用。可以為CheckBox添加監聽器 ,在監聽器的代碼中需要復寫public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)方法,方法的兩個參數分別為CompoundButton 和選中狀態,因為CheckBox繼承自CompoundButton,是CompoundButton的子類, 所以可以轉化為CompoundButton。
三、Toast
Toast是一種提供給用戶簡潔信息的視圖。Toast類幫助你創建和顯示該信息 。該視圖已浮於應用程序之上的形式呈現給用戶。因為它並不獲得焦點,即使用 戶正在輸入什麼也不會受到影響。它的目標是盡可能已不顯眼的方式,使用戶看 到你提供的信息。使用該控件最簡單的方法是調用該類的靜態方法public static Toast makeText (Context context, CharSequence text, int duration) 返回一個Toast對象,然後再調用Show()方法就可以了。例如Toast. makeText (Context context, CharSequence text, int duration).show()。這 個方法的第一個參數是上下文對象,通常是你的應用程序或者Activity對象,第 二個參數就是要顯示的文本內容,可以格式化文本,第三個參數是持續多長時間 來顯示消息,有兩個常量:LENGTH_SHORT 或者LENGTH_LONG。
示例:
新建一個Android應用程序。 編寫main.xml文件,添加一個RadioGroup標簽 (還可以設置此標簽內的布局方向是水平布局還是垂直布局)。 在RadioGroup 標簽內添加兩個RadioButton。然後再添加3個CheckBox復選框。當我們點擊單選 按鈕或者選中復選框的時候會提示相應的信息。
Android_Select.java
01.package com.idea.org; 02. 03.import android.app.Activity; 04.import android.os.Bundle; 05.import android.widget.CheckBox; 06.import android.widget.CompoundButton; 07.import android.widget.RadioButton; 08.import android.widget.RadioGroup; 09.import android.widget.Toast; 10. 11.public class Android_Select extends Activity { 12. private RadioGroup radioGroup=null; 13. private RadioButton radioButtonFemale=null; 14. private RadioButton radioButtonMale=null; 15. private CheckBox checkBoxSwim=null; 16. private CheckBox checkBoxRun=null; 17. private CheckBox checkBoxRead=null; 18. /** Called when the activity is first created. */ 19. @Override 20. public void onCreate(Bundle savedInstanceState) { 21. super.onCreate(savedInstanceState); 22. setContentView(R.layout.main); 23. radioGroup=(RadioGroup)findViewById(R.id.radioGroup); 24. radioButtonFemale=(RadioButton)findViewById(R.id.radioButtonFemale); 25. radioButtonMale=(RadioButton)findViewById(R.id.radioButtonMale); 26. checkBoxSwim=(CheckBox)findViewById(R.id.checkBoxSwim); 27. checkBoxRun=(CheckBox)findViewById(R.id.checkBoxRun); 28. checkBoxRead=(CheckBox)findViewById(R.id.checkBoxRead); 29. //為radioGroup添加監聽器 30. radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 31. 32. @Override 33. public void onCheckedChanged(RadioGroup group, int checkedId) { 34. // TODO Auto-generated method stub 35. if(radioButtonFemale.getId()==checkedId) 36. { 37. //調用Toast的靜態方法顯示提示消息 38. Toast.makeText(Android_Select.this,"女性",Toast.LENGTH_SHORT).show(); 39. } 40. else if(radioButtonMale.getId()==checkedId) 41. { 42. Toast.makeText(Android_Select.this,"男性",Toast.LENGTH_SHORT).show(); 43. } 44. } 45. }); 46. //為復選框添加監聽器 47. checkBoxSwim.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 48. 49. @Override 50. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 51. // TODO Auto-generated method stub 52. if(isChecked==true) 53. Toast.makeText(Android_Select.this,"游泳",Toast.LENGTH_SHORT).show(); 54. } 55. }); 56. checkBoxRun.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 57. 58. @Override 59. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 60. // TODO Auto-generated method stub 61. if(isChecked==true) 62. Toast.makeText(Android_Select.this,"跑步",Toast.LENGTH_SHORT).show(); 63. } 64. }); 65. checkBoxRead.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 66. 67. @Override 68. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 69. // TODO Auto-generated method stub 70. if(isChecked==true) 71. Toast.makeText(Android_Select.this,"閱讀",Toast.LENGTH_SHORT).show(); 72. } 73. }); 74. } 75.}
Android的SDK工具包中,有很多十分有用的工具,可以幫助程序員開發和測試Android應用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可視
注1:以下這些功能都是本人以MIUI ROM為例來講述的,如果你的Android沒有類似功能,可能是版本關系。部分功能需要安裝App來實現。注2:以下所述的優/缺點,全部
推送並不是什麼新技術,這種技術在互聯網時代就已經很流行了。只是隨著進入移動互聯網時代,推送技術顯得更加重要。因為在智能手機中,推送從某種程度上,可以取代使用多年的短信,而
Android Studio 默認編輯器(Editor)的方案(Scheme)是無法修改字體的, 可以Save as, 保存為新的方案(Scheme), 然後更改字體大小