簡單實現註冊成功,彈出對話方塊
阿新 • • 發佈:2019-02-12
功能實現效果如下圖:
第一步:佈局輸入的介面,在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>