Android(安卓)控件(注册对话框)
Android 控件(注册对话框)
--学习笔记6(金海建)
目的:学习设计一个注册界面,来学习RadioGroup、RadioButton、Spinner、DatePicker、TimePicker这些控件的使用。
RadioGroup和RadioButton
一般情况下,我们会把某一组RadioButton做成一个单选。这种情况下,我们需要把RadioButton和RadioGroup结合使用。在布局的时候,需要把RadioButton作为RadioGroup的子控件。
新建一个工程,设计如下UI。
性别选择的布局文件
<LinearLayout android:id="@+id/LinearLayout02" android:layout_height="wrap_content" android:layout_width="match_parent"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/sex" android:text="@string/sex" android:layout_marginTop="10px"></TextView> <RadioGroup android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal" android:id="@+id/sexselect"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/RadioMan" android:text="@string/man" android:layout_marginLeft="10px"></RadioButton> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/women" android:layout_marginLeft="20px" android:id="@+id/Radiowomen"></RadioButton> </RadioGroup> </LinearLayout>
在用户点击了某个单选框之后,对事件进行处理。
import android.widget.RadioGroup; import android.widget.RadioButton; import android.widget.Toast; public class UserReg extends Activity { RadioGroup m_sexselectGroup; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.userreg); m_sexselectGroup = (RadioGroup)this.findViewById(R.id.sexselect); m_sexselectGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedid) { if(checkedid == R.id.RadioMan) { // do some thing } else if(checkedid == R.id.Radiowomen) { // do some thing } RadioButton sextype = (RadioButton)UserReg.this.findViewById(checkedid); DisplayToast("你的性别是:" + sextype.getText()); } }); } public void DisplayToast(String str) { Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); } }
下拉框(Spinner)
接着添加一个血型选择的下拉框,让用户选择血型。
在布局文件中添加Spinner组建,然后通过ArrayAdapter和Spinner连接起来。一个Spinner控件有两种视图。一种是未点击状态下,一种是点击了,出现下拉条,让用户选择。这两种视图分别通过ArrayAdapter的构造函数和ArrayAdapter的setDropDownViewResource方法来设置。
血型选择xml属性
<LinearLayout android:id="@+id/LinearLayout03" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/bloodtype" android:text="@string/bloodtype"></TextView> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Spinnerbloodtype"></Spinner> </LinearLayout>
代码如下
private static final String[] m_bloodtypes= {"O型", "A型", "B型", "AB型", "其他", "未知"}; private Spinner m_Spinner; private ArrayAdapter<String> m_adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.userreg); m_Spinner = (Spinner)this.findViewById(R.id.Spinnerbloodtype); m_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m_bloodtypes); m_Spinner.setPromptId(R.string.selectblood); m_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); m_Spinner.setAdapter(m_adapter); m_Spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { public void onItemSelected( AdapterView<?> parent, View view, int position, long id) { DisplayToast("你的血型是:" + m_bloodtypes[position]); } public void onNothingSelected(AdapterView<?> arg0) { } }); }
效果图:
DatePicker和TimePicker
DatePicker和TimePicker的使用方法一样,我的测试程序中只使用的DatePicker来让用户选择生日。
在layout中添加DatePicker组建。
代码如下:
m_datePicker = (DatePicker)this.findViewById(R.id.Datebirthday); m_datePicker.init(1980, 5, 11, new DatePicker.OnDateChangedListener() { public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // 如果用于设置时间,可以调用Calendar的set方法 //Calendar.getInstance().set(year, monthOfYear, dayOfMonth); DisplayToast("你的生日是 " + year +"年" + monthOfYear + "月" + dayOfMonth + "日"); } });
效果图:
更多相关文章
- android 中ListView的用法
- Android(安卓)setBackgroundResource()/setBackgroundDrawable()
- Android控件属性——是否可见和可点击
- 安卓控件之单选按钮 (RadioButton和RadioGroup)
- Google Play services SDK的安装
- android 实现点击输入框弹出日期选择对话框(DatePickerDialog)
- Android下拉刷新上拉载入控件,对全部View通用!
- android入门开发实例
- 关于WebVeiw的例子(一)