功能實現效果如下圖:
第一步:佈局輸入的界面,在activity_main.xml中,代碼如下:
<ScrollView 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">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name_input"
android:textSize="20sp"/>
<!--姓名框 -->
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sex_input"
android:textSize="20sp"/>
<!--選擇性別的單項選擇按鈕 -->
<RadioGroup
android:id="@+id/radio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkedButton="@+id/boy"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/boy"
android:text="@string/boy" />
<RadioButton
android:id="@+id/girl"
android:text="@string/girl" />
</RadioGroup>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/birthday"
android:textSize="20sp"/>
<!--日期選擇器 -->
<DatePicker
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/habit"
android:textSize="20sp"/>
<!--選擇愛好的複選框 -->
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/movie"
android:text="@string/movie"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/star"
android:text="@string/star"/>
<!--提交按鈕 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/submit"
android:onClick="doSubmit"
android:text="@string/submit" />
</LinearLayout>
</ScrollView>
第二步:接下來編寫MainActivity.java中的方法,代碼如下:
package com.bzu.register.activity;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
//定義性別、愛好、姓名。生日和最後顯示信息
String sex,habit1="",habit2="";
String name,birthday,message;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void doSubmit(View v){
/*
* 獲取頁面上內容
*/
EditText text=(EditText) this.findViewById(R.id.name);
RadioButton boy=(RadioButton) this.findViewById(R.id.boy);
RadioButton girl=(RadioButton) this.findViewById(R.id.girl);
DatePicker datePicker = (DatePicker) findViewById(R.id.date);
CheckBox movie=(CheckBox) this.findViewById(R.id.movie);
CheckBox star=(CheckBox) this.findViewById(R.id.star);
String day = String.valueOf(datePicker.getDayOfMonth());
String month = String.valueOf(datePicker.getMonth() + 1);
String year = String.valueOf(datePicker.getYear());
birthday = year.concat("年").concat(month).concat("月").concat(day)
.concat("日");
//datePicker.init(1985, 8, 6, null);
name=text.getText().toString();
//選擇性別,並將轉成字符串
if(boy.isChecked()){
sex=boy.getText().toString();
}else{
sex=girl.getText().toString();
}
//選擇興趣愛好,並將轉成字符串
if(movie.isChecked()){
habit1=movie.getText().toString();
}
if(star.isChecked()){
habit2=star.getText().toString();
}
message = "註冊成功!\n你的姓名:" + name + "\n您的性別:" + sex + "\n您的生日:"
+ birthday+ "\n您的愛好:" + habit1 + habit2;
//提示框
//Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();
//彈出對話框
showDialog(1);
}
/*
* 建立對話框
*/
public Dialog onCreateDialog(int id){
switch(id){
case 1:
return buildDialog(MainActivity.this);
}
return null;
}
/*
* bulidDialog方法
*/
private Dialog buildDialog(Context context){
AlertDialog.Builder bulider=new AlertDialog.Builder(context);
bulider.setMessage(message);
return bulider.create();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
其他:在strings.xml中的代碼如下:
<resources>
<string name="app_name">用戶註冊</string>
<string name="name_input">請輸入您的姓名:</string>
<string name="sex_input">請輸入您的性別:</string>
<string name="boy">男</string>
<string name="girl">女</string>
<string name="birthday">請輸入您的生日:</string>
<string name="habit">請選擇您的興趣愛好:</string>
<string name="movie">看電影</string>
<string name="basketball">打籃球</string>
<string name="star">追星</string>
<string name="submit">提交</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">用戶註冊</string>
</resources>