1.所需知识点:
掌握以下UI组件的使用
CheckBox用于选取多个值时使用的组件,在布局文件中使用<CheckBox>标签标记,可以使用android:checked=“true”来设定默认选中值。
DatePicker组件可以输入日期。范围在1900-1-1 ~ 2100-12-31
RadioButton可以构建一组单选按钮,一组互斥的单选按钮必须在用一个RadioGroup中。
Toast:弹出提示框
ScrollView的使用
2.注册页面的布局
strings.xml
<resources>
<string name="app_name">用户注册页面</string>
<string name="nameinput">请输入您的姓名:</string><string name="sexinput">请输入您的性别:</string>
<string name="birth">请输入您的生日:</string>
<string name="male">男</string>
<string name="female">女</string>
<string name="date">日期显示</string>
<string name="interest">请输入您的兴趣爱好:</string>
<string name="interestchoice1">打篮球</string>
<string name="interestchoice2">看电影</string>
<string name="clickbutton">提交</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/nameinput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:padding="@dimen/padding_medium"
android:text="@string/nameinput"
tools:context=".MainActivity" />
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/nameinput"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/sexinput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/name"
android:padding="@dimen/padding_medium"
android:text="@string/sexinput"
tools:context=".MainActivity" />
<RadioGroup
android:id="@+id/sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/sexinput"
android:layout_below="@+id/sexinput"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/male" />
<RadioButton
android:id="@+id/female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/female" />
</RadioGroup>
<TextView
android:id="@+id/birth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sex"
android:text="@string/birth" />
<DatePicker
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/birth"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/interest"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/date"
android:layout_marginTop="15dp"
android:text="@string/interest" />
<CheckBox
android:id="@+id/interestchoice1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/interest"
android:checked="true"
android:text="@string/interestchoice1" />
<CheckBox
android:id="@+id/interestchoice2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/interestchoice1"
android:layout_below="@+id/interestchoice1"
android:text="@string/interestchoice2" />
<Button
android:id="@+id/click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/interestchoice2"
android:layout_below="@+id/interestchoice2"
android:text="@string/clickbutton" />
</RelativeLayout>
3.注册成功的实现
MainActivity.java
package com.cn.bzu.register;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText nameInput;
private Button clickButton;
private RadioButton maleRadio;
private RadioButton femaleRadio;
private DatePicker datePicker;
private CheckBox interestchoice1;
private CheckBox interestchoice2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameInput = (EditText) this.findViewById(R.id.name);
maleRadio = (RadioButton) this.findViewById(R.id.male);
femaleRadio = (RadioButton) this.findViewById(R.id.female);
datePicker = (DatePicker) this.findViewById(R.id.date);
interestchoice1 = (CheckBox) this.findViewById(R.id.interestchoice1);
interestchoice2 = (CheckBox) this.findViewById(R.id.interestchoice2);
clickButton = (Button) this.findViewById(R.id.click);
clickButton.setOnClickListener(new ClickHandler());
}
private class ClickHandler implements OnClickListener {
public void onClick(View v) {
String sex = "男";
if (maleRadio.isChecked()) {
sex = maleRadio.getText().toString();
}
if (femaleRadio.isChecked()) {
sex = femaleRadio.getText().toString();
}
String interest = "";
if (interestchoice1.isChecked()) {
interest = interest + interestchoice1.getText().toString();
}
if (interestchoice2.isChecked()) {
interest = interest + interestchoice2.getText().toString();
}
String birth = datePicker.getYear() + "年"
+ (datePicker.getMonth() + 1) + "月"
+ datePicker.getDayOfMonth() + "日";
StringBuffer prompt = new StringBuffer();
prompt.append("注册成功!\n您的姓名:")
.append(nameInput.getText().toString()).append("\n您的性别是:")
.append(sex).append("\n您的生日:").append(birth)
.append("\n您的爱好:").append(interest);
Toast.makeText(MainActivity.this, prompt, Toast.LENGTH_LONG).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
4.运行效果图
5.所需注意的问题
在获取月份时,getMonth() + 1