Android注册界面设计

Stella981
• 阅读 723

一、建立一个Android项目 Android注册界面设计 Android注册界面设计 二、具体步骤 1、先编辑string.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <string name="hello">Hello World, LoginActivity!</string>
        <string name="app_name">用户注册</string>
        <string name="nameString">用户名:</string>
        <string name="namevalue_hint">请输入英文字母、数字</string>
        
        <string name="passString">密码:</string>
        <string name="passvalue_hint">请输入密码</string>
        
        <string name="ageString">年龄:</string>
        <string name="agevalue_hint">请输入年龄</string>
        
        <string name="sexString">性别:</string>
        <string name="Man">男</string>
        <string name="Woman">女</string>
        <string name="favoriteString">喜好:</string>
        <string name="cityString">城市:</string>
        
        <string name="Beijing">北京</string>
        <string name="ShangHai">上海</string>
        <string name="GuangZhou">广州</string>
        <string name="ShenZhen">深圳</string>
        
        <string name="pingpang">乒乓球</string>
        <string name="basketball">蓝球</string>
        <string name="football">足球</string>
        <string name="tennis">网球</string>
        <string name="registerbutton">注册</string>
    
    </resources>
    
    2、再在res/values/目录下新建一个arrays.xml文件
    
        <!-- lang: xml -->
        <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <string-array name="cities">
            <item></item>
            <item>Beijing</item>
            <item>Shanghai</item>
            <item>Guangzhou</item>
            <item>Shenzhen</item>
            
        </string-array>
    
    </resources>

3、编辑main.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <!-- 用户名 -->
    
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <TextView
                android:id="@+id/name"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/nameString"
                android:textSize="@dimen/fontsize" />
    
            <EditText
                android:id="@+id/namevalue"
                android:layout_width="@dimen/EditTextWidth"
                android:layout_height="wrap_content"
                android:hint="@string/namevalue_hint"
                android:layout_alignTop="@id/name"
                android:layout_toRightOf="@id/name"
                android:inputType="text" />
        </RelativeLayout>
    
        <!-- 密码 -->
    
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <TextView
                android:id="@+id/password"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/passString"
                android:textSize="@dimen/fontsize" />
    
            <EditText
                android:id="@+id/passvalue"
                android:layout_width="@dimen/EditTextWidth"
                android:layout_height="wrap_content"
                android:hint="@string/passvalue_hint"
                android:layout_alignTop="@id/password"
                android:layout_toRightOf="@id/password"
                android:inputType="textPassword" />
        </RelativeLayout>
    
        <!-- 年龄 -->
    
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <TextView
                android:id="@+id/ageLabel"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/ageString"
                android:textSize="@dimen/fontsize" />
    
            <EditText
                android:id="@+id/agevalue"
                android:layout_width="@dimen/EditTextWidth"
                android:layout_height="wrap_content"
                android:hint="@string/agevalue_hint"
                android:layout_alignTop="@id/ageLabel"
                android:layout_toRightOf="@id/ageLabel"
                android:inputType="number" />
        </RelativeLayout>
    
          <!-- 性别 -->
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:id="@+id/sexLabel"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/sexString"
                android:textSize="@dimen/fontsize" />
    
            <RadioGroup
                android:id="@+id/sexMenu"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/sexLabel"
                android:orientation="horizontal" >
    
    
                <RadioButton
                    android:id="@+id/radioMan"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/Man" />
                
                <RadioButton
                    android:id="@+id/radioWoman"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="30dp"
                    android:text="@string/Woman" />
            </RadioGroup>
        </RelativeLayout>
        
        <!-- 爱好 -->
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:id="@+id/favoriteLabel"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/favoriteString"
                android:textSize="@dimen/fontsize" />
    
            <CheckBox
                android:id="@+id/checkboxpingpang"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/favoriteLabel"
                android:text="@string/pingpang" />
    
            <CheckBox
                android:id="@+id/checkboxfootball"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/checkboxpingpang"
                android:text="@string/football" />
    
            <CheckBox
                android:id="@+id/checkboxbasketball"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@id/checkboxpingpang"
                android:layout_below="@id/checkboxpingpang"
                android:text="@string/basketball" />
    
            <CheckBox
                android:id="@+id/checkboxtennis"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@id/checkboxfootball"
                android:layout_below="@id/checkboxfootball"
                android:layout_toRightOf="@id/checkboxbasketball"
                android:text="@string/tennis" />
        </RelativeLayout>
    
        <!-- 城市 -->
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
    
            <TextView
                android:id="@+id/city"
                android:layout_width="@dimen/TextViewWidth"
                android:layout_height="wrap_content"
                android:text="@string/cityString"
                android:textSize="@dimen/fontsize" />
            <Spinner
                android:id="@+id/cityItems" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/city"/>
            
        </RelativeLayout>
        
        <!-- 注册 -->
        <Button 
            android:id="@+id/registerButton"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/registerbutton"/>
        
    </LinearLayout>

4、编辑LoginActivity.java文件 有两种方法使用字符串数组 ① 在LoginActivity.java的onCreate()方法开头定义一个静态常量字符数组,文中注释的部分 ② 把字符串定义在arrays.xml文件中

    package com.sharpandroid.userlogin;
    import java.util.ArrayList;
    import java.util.List;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.content.res.Resources;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.Spinner;
    public class LoginActivity extends Activity
    {
     /** Called when the activity is first created. */
     // 定义静态常量字符数组
    // private static final String[] cities =
    //  { "", 
    //   "北京",
    //   "上海",
    //   "广州",
    //   "深圳"
    //  };
     
     
     // 定义控件资源
     private EditText name, age, passwd;
     private Button regButton;
     private RadioGroup sexRadioGroup;
     private CheckBox basketball, football, pingpang, tennis;
     private Spinner cityItem;
     private boolean flag = true;
     private List<CheckBox> favorities;
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      // 定义一个ArrayList,用于存放所有的CheckBox
      favorities = new ArrayList<CheckBox>();
      // 获取控件资源
      name = (EditText) findViewById(R.id.namevalue);
      age = (EditText) findViewById(R.id.agevalue);
      passwd = (EditText) findViewById(R.id.passvalue);
      regButton = (Button) findViewById(R.id.registerButton);
      cityItem = (Spinner) findViewById(R.id.cityItems);
      sexRadioGroup = (RadioGroup) findViewById(R.id.sexMenu);
      basketball = (CheckBox) findViewById(R.id.checkboxbasketball);
      football = (CheckBox) findViewById(R.id.checkboxfootball);
      pingpang = (CheckBox) findViewById(R.id.checkboxpingpang);
      tennis = (CheckBox) findViewById(R.id.checkboxtennis);
        
      // 将多选框添加到List中
      favorities.add(basketball);
      favorities.add(football);
      favorities.add(pingpang);
      favorities.add(tennis);
      // 创建一个数组型适配器
      // 用静态常量字符数组时,用这种方法
    //  ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    //    LoginActivity.this, android.R.layout.simple_spinner_item, cities);
      
      // 用资源文件中的字符数值时,用这种方法
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
        this, R.array.cities, android.R.layout.simple_spinner_item);
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      cityItem.setAdapter(adapter);
      regButton.setOnClickListener(new View.OnClickListener()
      {
       @Override
       public void onClick(View v)
       {
        // TODO Auto-generated method stub
        flag = addUser();
        if (flag)
        {
         new AlertDialog.Builder(LoginActivity.this)
           .setTitle("请确认信息")
           .setCancelable(false)
           .setMessage(
             "你的信息如下:" + "\n" + "姓名:"
               + name.getText().toString() + "\n"
               + "年龄:" + age.getText().toString()
               + "\n" + "性别:" + getSex() + "\n"
               + "爱好:" + getFavorite() + "\n"
               + "城市:" + getCity() + "\n")
           .setPositiveButton("确定",
             new DialogInterface.OnClickListener()
             {
              @Override
              public void onClick(
                DialogInterface dialog,
                int which)
              {
               // TODO Auto-generated method stub
               ProgressDialog.show(
                 LoginActivity.this, "注册中",
                 "请等待......");
              }
             })
           .setNegativeButton("修改",
             new DialogInterface.OnClickListener()
             {
              @Override
              public void onClick(
                DialogInterface dialog,
                int which)
              {
               // TODO Auto-generated method stub
               dialog.cancel();
              }
             })
           .show();
        }
       }
      });
     }
     /*
      * ==========================================================================
      */
     // 获取城市
     private String getCity()
     {
      
      // 引用资源文件中的字符数组时用这种方法
      Resources res = getResources();
      String[] cities = res.getStringArray(R.array.cities);
      return cities[cityItem.getSelectedItemPosition()];
      
      // return cities[cityItem.getSelectedItemPosition()];  // 用静态字符数组实现时,用这种方法
     }
     /*
      * ==========================================================================
      * ==================
      */
     // 获取爱好
     private String getFavorite()
     {
      String favString = "";
      for (CheckBox cb : favorities)
      {
       if (cb.isChecked())
       {
        favString += cb.getText().toString();
        favString += ",";
       }
      }
      if (favString != "")
      {
       favString = favString.substring(0, favString.length() - 1);
      } else
      {
       favString = "你没有选择爱好!";
      }
      return favString;
     }
     /*
      * ==========================================================================
      * ==================
      */
     // 获取性别
     private String getSex()
     {
      RadioButton mRadio = (RadioButton) findViewById(sexRadioGroup
        .getCheckedRadioButtonId());
      return mRadio.getText().toString();
     }
     /*
      * ==========================================================================
      * ==================
      */
     // 添加用户
     public boolean addUser()
     {
      boolean nameflag = true;
      boolean ageflag = true;
      boolean passwdflag = true;
      // 判断姓名是否合法:输入的字符串姓名去掉空格后长度不能为0
      if (name.getText().toString().trim().length() == 0)
      {
       // name.setError("用户名不能为空!");
       nameflag = false;
      }
      if (age.getText().toString().length() == 0)
      {
       // age.setError("年龄不能为空!");
       ageflag = false;
      }
      if (passwd.getText().toString().length() == 0)
      {
       // passwd.setError("密码不能为空!");
       passwdflag = false;
      }
      if (nameflag && ageflag && passwdflag)
      {
       return true;
      } else
      {
       if (!nameflag)
        name.setError("用户名不能为空!");
       if (!ageflag)
        age.setError("年龄不能为空!");
       if (!passwdflag)
        passwd.setError("密码不能为空!");
       return false;
      }
     }
    }

​三、运行界面 Android注册界面设计

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这