控件注册 android,Android 控件(注册对话框)

Android控件(注册对话框)

--学习笔记6(金海建)

目的:学习设计一个注册界面,来学习RadioGroup、RadioButton、Spinner、DatePicker、TimePicker这些控件的使用。

RadioGroup和RadioButton

一般情况下,我们会把某一组RadioButton做成一个单选。这种情况下,我们需要把RadioButton和RadioGroup结合使用。在布局的时候,需要把RadioButton作为RadioGroup的子控件。

新建一个工程,设计如下UI。

e2c74b23b33caf0783d100d4e3962317.png

性别选择的布局文件

在用户点击了某个单选框之后,对事件进行处理。

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属性

代码如下

private static final String[] m_bloodtypes= {"O型", "A型", "B型", "AB型", "其他", "未知"}; private Spinner m_Spinner; private ArrayAdapter 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(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) { } }); }

效果图:

1f02a24d961dd2fc149cd34d182eb35c.png9e5a13227bdc34284193de6199184eb6.png

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 + "日"); } });

效果图:

f4c0e0bc9e1e6734296a7c26ca730752.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值