文档章节

Android注册界面设计

天幕下的同龄人
 天幕下的同龄人
发布于 2014/10/13 23:24
字数 1344
阅读 86
收藏 1

一、建立一个Android项目 配置1 配置2 二、具体步骤 1、先编辑string.xml文件

<!-- lang: 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文件

<!-- lang: 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文件中

<!-- lang: java -->

    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;
      }
     }
    }

​三、运行界面 运行界面

© 著作权归作者所有

共有 人打赏支持
天幕下的同龄人
粉丝 0
博文 1
码字总数 1344
作品 0
南京
私信 提问
毕业设计3(研究android中的action)

下午在设计android的一个登陆的activity时,遇到这样的困惑,对于android来说一个页面就是一个activity,而为了能够在一个app中使用这个“界面“(也就是activity,因为你设计了界面肯定是为...

土匪强
2012/01/23
0
2
04_Android框架及关键组件实验【图解】

作者:孔祥辉 一、实验内容 任务(1) – 设计一个应用程序 – 视图中包含一个按钮 – 当单击按钮后 • 弹出一个提示框 • 将按钮的背景颜色变为蓝色 • 按钮中的文字变为红色。 任务(2) ...

晨曦之光
2012/03/14
208
0
[Android]开源中国源码分析——Activity

开源中国android版主要有3类activity,一个是启动界面Activity,一个是主界面Activity,其他作为一类是详细页面Activity。 1、启动界面Activity为AppStart.java类。 它在net.oschina.app目录...

亭子happy
2012/09/11
0
0
迈绝伦团队工作汇总

项目负责人:余志恒 up_java后台:暂无更新 mz_java后台:新增会员期限兑换码兑换功能,修改装修图库分类 bwk后台:暂无更新 项目负责人:季景胜 up_Android:暂无更新 upzg_Android:暂无更...

风化的骆驼
2016/12/05
2
0
转换 iOS 用户界面到 Android 的 5 大要诀

转换 iOS 用户界面到 Android 的 5 大要诀 2011-08-09 17:47 by 资深编辑wangguo评论(1)有1640人浏览 androidiOSUI <> 猎头职位:北京:ITeye网站诚聘产品交互设计 目前许多公司都正将他们的i...

冯京宝
2012/06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows10小鹤双拼注册表

《安全第一》直接发文本内容,自己建文本,改文本后缀reg。 使用方法: 1.复制下示文本内容,打开你的文本编辑器(#记事本notepad或其他++),粘贴文本内容并保存在任意位置(不影响使用) ...

漫步海边小路
5分钟前
0
0
一、数据挖掘

数据挖掘的发展动力---需要是发明之母 数据爆炸问题 自动数据收集工具和成熟的数据库技术使得大量的数据被收集,存储在数据库、数据仓库或其他信息库中以待分析。我们拥有丰富的数据,但却缺...

凯文加内特
8分钟前
0
0
Java线程池ThreadPoolExecutor

线程池 ThreadPoolExecutor 线程池是ExecutorService的实现,可以通过Executors执行工厂构造不同类型的执行服务(线程池)。 ThreadPoolExecutor线程池使用的是阻塞队列BlockingQueue。 用于...

器石_
9分钟前
0
0
Mybatis 实现SQL拦截并在控制台打印SQL和参数

注:可以拦截sql 执行时间,优化sql。并打印sql 以及参数 第一步:创建类: SqlPrintInterceptor 并实现 Interceptor 该类如下: package com.ra.common.plugin;import org.apache.ibati...

轻量级赤影
12分钟前
1
0
Log4j2 配置

config: <?xml version="1.0" encoding="UTF-8"?><!-- http://logging.apache.org/log4j/2.x/manual/appenders.html --><!-- status 负责打印日记系统的 WARN 级别以及以上的日记 --><C......

Credo-Zhao
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部