zoukankan      html  css  js  c++  java
  • Android之注册界面练习

    今天要分享的是一个安卓注册小练习,记录一下自己的学习。

    做一个注册页面。

    要求填入用户如下信息:

      用户名、密码、确认密码、性别(单选)、爱好(多选,包括至少六个选项,如音乐、美术、阅读、篮球等)、email。

      当点击取消按钮,所有填过的内容(除了单选框之外)都清空,点击确认按钮,在下面一个文本框内显示上面的信息,如“XXX先生/女士(根据性别),您的密码是123456,您的爱好有音乐、篮球、美术,您的email是abc@163.com”。

    1.activity_main.xml布局文件如下所示:

      1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      2     xmlns:tools="http://schemas.android.com/tools"
      3     android:layout_width="match_parent"
      4     android:layout_height="match_parent"
      5     android:paddingBottom="@dimen/activity_vertical_margin"
      6     android:paddingLeft="@dimen/activity_horizontal_margin"
      7     android:paddingRight="@dimen/activity_horizontal_margin"
      8     android:paddingTop="@dimen/activity_vertical_margin"
      9     tools:context="com.example.demo3.MainActivity" >
     10     
     11     <TextView
     12        
     13         android:layout_width="wrap_content"
     14         android:layout_height="wrap_content"
     15         android:layout_marginTop="6dp"
     16         android:layout_marginLeft="80dp"
     17         android:textSize="25sp"
     18         android:text="注册页面" />
     19     
     20     <!--输入框-->
     21     <TextView
     22            android:id="@+id/EditText1"
     23         android:layout_width="wrap_content"
     24         android:layout_height="wrap_content"
     25         android:layout_marginTop="50dp"
     26         android:layout_marginLeft="0dp"
     27         android:textSize="20sp"
     28         android:text="用户名:" />
     29     <TextView
     30            android:id="@+id/EditText2"
     31         android:layout_width="wrap_content"
     32         android:layout_height="wrap_content"
     33         android:layout_marginTop="100dp"
     34         android:layout_marginLeft="0dp"
     35         android:textSize="20sp"
     36         android:text="密    码:" />
     37     <TextView
     38            android:id="@+id/EditText3"
     39         android:layout_width="wrap_content"
     40         android:layout_height="wrap_content"
     41         android:layout_marginTop="150dp"
     42         android:layout_marginLeft="0dp"
     43         android:textSize="20sp"
     44         android:text="密    码:" />
     45     
     46     <EditText
     47         android:id="@+id/username"
     48         android:layout_width="fill_parent"
     49         android:layout_height="wrap_content"
     50         android:layout_marginTop="50dp"
     51         android:layout_marginLeft="70dp"
     52         android:inputType="text"
     53         android:hint="请输入您的用户名"
     54         android:selectAllOnFocus="true"
     55         android:singleLine="true"
     56         android:textColorHint="#95A1AA" />
     57     <EditText
     58         android:id="@+id/password"
     59         android:layout_width="fill_parent"
     60         android:layout_height="wrap_content"
     61         android:layout_marginTop="100dp"
     62         android:layout_marginLeft="70dp"
     63         android:inputType="textPassword" 
     64         android:hint="请输入您的密码"
     65         android:selectAllOnFocus="true"
     66         android:textColorHint="#95A1AA" />
     67     <EditText
     68         android:id="@+id/password2"
     69         android:layout_width="fill_parent"
     70         android:layout_height="wrap_content"
     71         android:layout_marginTop="150dp"
     72         android:layout_marginLeft="70dp"
     73         android:inputType="textPassword" 
     74         android:hint="请再次输入您的密码"
     75         android:selectAllOnFocus="true"
     76         android:textColorHint="#95A1AA" />
     77    
     78       <!-- 性别 -->
     79       <TextView
     80             android:id="@+id/rb_name_tv"
     81             android:layout_width="wrap_content"
     82             android:layout_height="wrap_content"
     83             android:layout_marginTop="200dp"
     84             android:text="性    别:"
     85             android:textSize="20sp" />
     86         
     87         <!-- 第一个内嵌布局中的第三个控件为RadioGroup,用于包裹一组单选按钮 -->
     88         <RadioGroup
     89             android:id="@+id/radio_group"
     90             android:layout_width="fill_parent"
     91             android:layout_height="fill_parent"
     92             android:layout_marginLeft="70dp"
     93             android:layout_marginTop="200dp"
     94            
     95             android:orientation="horizontal">
     96             <!-- RadioGroup中第一个单选按钮,用于显示单选框 -->
     97             <RadioButton
     98                 android:id="@+id/rb1"
     99                 android:layout_width="wrap_content"
    100                 android:layout_height="wrap_content"
    101                 android:text="男"
    102                 android:textSize="18sp" >
    103             </RadioButton>
    104             <!-- RadioGroup中第二个单选按钮,用于显示单选框 -->
    105             <RadioButton
    106                 android:id="@+id/rb2"
    107                 android:layout_width="wrap_content"
    108                 android:layout_height="wrap_content"
    109                 android:text="女"
    110                 android:textSize="18sp" >
    111             </RadioButton>
    112         </RadioGroup>
    113         <!-- 爱好 -->
    114         <!-- 第二个内嵌布局中的第一个控件为TextView,用于显示文本信息 -->
    115         <TextView
    116             android:id="@+id/cb_name_tv"
    117             android:layout_width="wrap_content"
    118             android:layout_height="wrap_content"
    119             android:layout_marginTop="250dp"
    120             android:text="爱    好:"
    121             android:textSize="20sp" />
    122         
    123     
    124     <!-- 第二个内嵌布局中的第三个控件为CheckBox,用于显示复选框 -->
    125         <CheckBox
    126             android:id="@+id/check_box1"
    127             android:layout_width="wrap_content"
    128             android:layout_height="wrap_content"
    129             android:layout_marginTop="250dp"
    130             android:layout_marginLeft="0dp"
    131             android:layout_toRightOf="@+id/cb_name_tv"
    132             android:text="篮球"
    133             android:textSize="18sp" />
    134         <CheckBox
    135             android:id="@+id/check_box2"
    136             android:layout_width="wrap_content"
    137             android:layout_height="wrap_content"
    138             android:layout_alignBaseline="@+id/check_box1"
    139             android:layout_marginLeft="0dp"
    140             android:layout_toRightOf="@+id/check_box1"
    141             android:text="音乐"
    142             android:textSize="18sp" />
    143         
    144         <CheckBox
    145             android:id="@+id/check_box3"
    146             android:layout_width="wrap_content"
    147             android:layout_height="wrap_content"
    148             android:layout_alignBaseline="@+id/check_box2"
    149             android:layout_marginLeft="0dp"
    150             android:layout_toRightOf="@+id/check_box2"
    151             android:text="游戏"
    152             android:textSize="18sp" />
    153         <CheckBox
    154             android:id="@+id/check_box4"
    155             android:layout_width="wrap_content"
    156             android:layout_height="wrap_content"
    157             android:layout_below="@+id/check_box1"
    158             android:layout_toRightOf="@+id/cb_name_tv"     
    159             android:text="编程"
    160             android:textSize="18sp" />
    161        <CheckBox
    162             android:id="@+id/check_box5"
    163             android:layout_width="wrap_content"
    164             android:layout_height="wrap_content"
    165             android:layout_alignBaseline="@+id/check_box4"
    166             android:layout_below="@+id/check_box2"
    167             android:layout_toRightOf="@+id/check_box4"  
    168             android:layout_marginLeft="0dp"
    169             android:text="看书"
    170             android:textSize="18sp" />
    171        <CheckBox
    172             android:id="@+id/check_box6"
    173             android:layout_width="wrap_content"
    174             android:layout_height="wrap_content"
    175             android:layout_alignBaseline="@+id/check_box4"
    176             android:layout_below="@+id/check_box2"
    177             android:layout_toRightOf="@+id/check_box5"  
    178             android:layout_marginLeft="0dp"
    179             android:text="吃饭"
    180             android:textSize="18sp" />
    181        
    182        <TextView
    183            android:id="@+id/EditText3"
    184         android:layout_width="wrap_content"
    185         android:layout_height="wrap_content"
    186         android:layout_marginTop="320dp"
    187         android:layout_marginLeft="0dp"
    188         android:textSize="20sp"
    189         android:text="邮    箱:" />
    190        <EditText
    191         android:id="@+id/Email"
    192         android:layout_width="fill_parent"
    193         android:layout_height="wrap_content"
    194         android:layout_marginTop="320dp"
    195         android:layout_marginLeft="70dp"
    196         android:inputType="text"
    197         android:hint="如mwf1998@qq.com"
    198         android:selectAllOnFocus="true"
    199         android:singleLine="true"
    200         android:textColorHint="#95A1AA" />
    201        
    202        
    203        <Button
    204         android:id="@+id/btnOk"
    205         android:layout_width="wrap_content"
    206         android:layout_marginTop="390dp"
    207         android:layout_marginLeft="80dp"
    208         android:layout_height="40dp"
    209         android:padding="5dp"
    210         android:text="OK"
    211         android:onClick="pressOk"/>
    212           
    213       <Button
    214         android:id="@+id/btnCancel"
    215         android:layout_width="wrap_content"
    216         android:layout_marginTop="390dp"
    217         android:layout_marginLeft="200dp"
    218         android:layout_height="40dp"
    219         android:padding="5dp"
    220         android:text="Cancel"
    221         android:onClick="pressCancel"/>
    222       
    223       <!-- TextView,用于显示文本信息 -->
    224         <TextView
    225             android:id="@+id/tb_tv"
    226             android:layout_width="wrap_content"
    227             android:layout_height="wrap_content"
    228             android:layout_marginTop="430dp"
    229             android:layout_marginLeft="10dp"
    230             android:text=""
    231             android:textSize="25sp" />
    232     
    233  
    234    
    235 </RelativeLayout>
    View Code

    2.Mainactivity.java代码如下所示:

      1 package com.example.android_text8;
      2 
      3 import android.os.Bundle;
      4 
      5 import java.util.ArrayList;
      6 import java.util.List;
      7 
      8 
      9 import android.app.Activity;
     10 import android.view.Menu;
     11 import android.view.View;
     12 import android.view.View.OnClickListener;
     13 import android.widget.Button;
     14 import android.widget.CheckBox;
     15 import android.widget.CompoundButton;
     16 import android.widget.EditText;
     17 import android.widget.RadioButton;
     18 import android.widget.TextView;
     19 import android.widget.Toast;
     20 
     21 public class MainActivity extends Activity {
     22     private EditText username,password,password2,Email;
     23     String user = null;
     24     String pwd = null;
     25     String mail = null;
     26     String pwd2 = null;
     27     private Button ok =null;
     28     private Button cancel=null;
     29     private RadioButton rb1;
     30     private RadioButton rb2;
     31     private CheckBox CheckBox1;
     32     private CheckBox CheckBox2;
     33     private CheckBox CheckBox3;
     34     private CheckBox CheckBox4;
     35     private CheckBox CheckBox5;
     36     private CheckBox CheckBox6;
     37     private TextView tb_tv;
     38     private List<RadioButton> radioButtonList = new ArrayList<RadioButton>();
     39     private List<CheckBox> checkBoxList = new ArrayList<CheckBox>();
     40     @Override
     41     protected void onCreate(Bundle savedInstanceState) {
     42         super.onCreate(savedInstanceState);
     43         setContentView(R.layout.activity_main);
     44         initViews();//初始化变量
     45         
     46     }
     47 
     48     private void initViews() {
     49     
     50         rb1 = (RadioButton) findViewById(R.id.rb1);
     51         rb2 = (RadioButton) findViewById(R.id.rb2);
     52         
     53         
     54         CheckBox1 = (CheckBox) findViewById(R.id.check_box1);
     55         CheckBox2 = (CheckBox) findViewById(R.id.check_box2);
     56         CheckBox3 = (CheckBox) findViewById(R.id.check_box3);
     57         CheckBox4 = (CheckBox) findViewById(R.id.check_box4);
     58         CheckBox5 = (CheckBox) findViewById(R.id.check_box5);
     59         CheckBox6 = (CheckBox) findViewById(R.id.check_box6);
     60         
     61         tb_tv = (TextView) findViewById(R.id.tb_tv);
     62         
     63         radioButtonList.add(rb1);
     64         radioButtonList.add(rb2);
     65         
     66         checkBoxList.add(CheckBox1);
     67         checkBoxList.add(CheckBox2);
     68         checkBoxList.add(CheckBox3);
     69         checkBoxList.add(CheckBox4);
     70         checkBoxList.add(CheckBox5);
     71         checkBoxList.add(CheckBox6);
     72         
     73         ok = (Button) findViewById(R.id.btnOk);
     74         cancel = (Button) findViewById(R.id.btnCancel);
     75     
     76     
     77         
     78         //OK点击事件监听;
     79         ok.setOnClickListener(new OnClickListener() {
     80     
     81             public void onClick(View v) {
     82                 username = (EditText) findViewById(R.id.username);
     83                 user = username.getText().toString();
     84                 password = (EditText) findViewById(R.id.password);
     85                 pwd  = password.getText().toString();
     86                 password2 = (EditText) findViewById(R.id.password2);
     87                 pwd2  = password2.getText().toString();
     88                 Email = (EditText) findViewById(R.id.Email);
     89                 mail  = Email.getText().toString();
     90                 
     91             
     92                 // TODO Auto-generated method stub
     93                 
     94                 
     95                 StringBuffer cb = new StringBuffer();
     96                 StringBuffer rb = new StringBuffer();
     97                 
     98                 for (RadioButton radioButton : radioButtonList) {
     99                     if (radioButton.isChecked()) {
    100                         rb.append(radioButton.getText().toString() + "");
    101                     }
    102                 }
    103                 for (CheckBox checkbox : checkBoxList) {   
    104                     if (checkbox.isChecked()) {
    105                         cb.append(checkbox.getText().toString() + "、");
    106                     }
    107                 }
    108                 
    109                 
    110                 
    111                 if ((user == null) && (pwd!= pwd2) && cb.toString() == null ) {
    112                     Toast.makeText(getApplicationContext(), "注册失败!输入的密码不一致或者您没有勾选爱好!", 3000).show();
    113                 } else {
    114                       
    115                     tb_tv.setText("        "+user+"先生/女士"+",您的密码是:"+pwd+ ",您的性别是:"+rb.toString()+",您的爱好是:"+cb.toString()+",您的Email邮箱是:"+mail);
    116                 }
    117                 Toast.makeText(getApplicationContext(), "注册成功", 3000).show();
    118 
    119                 
    120             }
    121         });
    122         
    123         //cancel点击事件监听;
    124         cancel.setOnClickListener(new OnClickListener() {
    125             
    126             public void onClick(View v) {
    127                     username.setText("");
    128                     password.setText("");
    129                     password2.setText("");
    130                     Email.setText("");
    131                     
    132                     
    133                             
    134                        
    135 
    136                     Toast.makeText(getApplicationContext(), "清除用户信息", 2000).show();
    137                     
    138         
    139             }
    140         });
    141     }
    142 
    143     
    144 
    145     @Override
    146     public boolean onCreateOptionsMenu(Menu menu) {
    147         // Inflate the menu; this adds items to the action bar if it is present.
    148         getMenuInflater().inflate(R.menu.main, menu);
    149         return true;
    150     }
    151     
    152 }    
    View Code

    3.完成效果图

    PS:如果有做的不好的地方,欢迎交流指正。

  • 相关阅读:
    react实现拖拽
    JS实现判断滚动条滚到页面底部并执行事件的方法
    获取地址中的参数 封装在params对象里面
    git常用命令
    Linux定时任务Crontab命令详解
    tars 部署
    tars 问题汇总
    Mac
    http head
    SSL
  • 原文地址:https://www.cnblogs.com/ma1998/p/12589188.html
Copyright © 2011-2022 走看看