您的位置:首页 > 移动开发 > Android开发

Android-------模拟用户登录界面(1)

2015-04-17 09:10 417 查看
学习了Android一个月的时间了,总结一下学到的知识。

实现了一个登陆界面的功能:如图a


使用的Android API是2.2,真机调试,手机是Samsung,项目中使用了MainActivity.java,ResultActivity.java;activity_main.xml,result.xml和Androidmanifest.xml文件

首先把代码贴一下,下一节具体总结。

MainActivity.java

package com.example.tbopdpia_register;

import android.support.v7.app.ActionBarActivity;

import android.app.AlertDialog;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.CompoundButton;

import android.widget.EditText;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.Spinner;

import android.widget.ToggleButton;

public class MainActivity extends ActionBarActivity {

private static final String places[]={"中国","中国香港","中国澳门","中国台湾"};

private boolean isNotified=false;

private int sexFlag=0;

private boolean Checked=false;

private int plcFlag=0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//设置标题

setTitle("注册");

//获取控件

final EditText username=(EditText)findViewById(R.id.username);

final EditText password=(EditText)findViewById(R.id.password);

final EditText RePwd=(EditText)findViewById(R.id.RePwd);

RadioGroup sex=(RadioGroup)findViewById(R.id.sex);

//RadioButton male=(RadioButton)findViewById(R.id.male);

//RadioButton fmale=(RadioButton)findViewById(R.id.famle);

Spinner from=(Spinner)findViewById(R.id.from);

final EditText email=(EditText)findViewById(R.id.email);

ToggleButton notify=(ToggleButton)findViewById(R.id.notify);

Button register=(Button)findViewById(R.id.btn_Regster);

Button cancel=(Button)findViewById(R.id.btn_Cancel);

CheckBox check=(CheckBox)findViewById(R.id.check);

//from

from.setOnItemSelectedListener(fromItemSelectedListener);

//sex

sex.setOnCheckedChangeListener(sexCheckedChange);

//check

check.setOnCheckedChangeListener(checkCheckListener);

//给spinner设置适配器

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,places);

//第二个参数表示spinner没有展开前的UI类型

from.setAdapter(adapter);

//设置notify的监听

notify.setOnCheckedChangeListener(notifyCheckedListener);

//button

register.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

String strUser=username.getText().toString();

String strPassword=password.getText().toString();

String strRepwd=RePwd.getText().toString();

String strEmail=email.getText().toString();

if(strUser.equals("")){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("请输入用户名")

.setPositiveButton("确定", null)

.show();

return ;

}

if(strPassword.equals("")){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("请输入密码")

.setPositiveButton("确定", null)

.show();

return ;

}

if(strRepwd.equals("")){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("请再输入密码")

.setPositiveButton("确定", null)

.show();

return ;

}

if(!strPassword.equals(strRepwd)){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("两次填写的密码不一致")

.setPositiveButton("确定", null)

.show();

return ;

}

if(!strEmail.equals("")){

if(strPassword.equals("")){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("请输入邮箱")

.setPositiveButton("确定", null)

.show();

return ;

}

}

if(!Checked){

//弹出对话框

new AlertDialog.Builder(MainActivity.this)

.setIcon(android.R.drawable.ic_dialog_alert)

.setTitle("警告")

.setMessage("请勾选同意条款")

.setPositiveButton("确定", null)

.show();

return ;

}

//发送数据到另一个activity

Bundle bundle=new Bundle();

bundle.putString("username", strUser);

bundle.putString("mail", strEmail);

bundle.putString("from", places[plcFlag]);

bundle.putBoolean("notify", isNotified);

bundle.putBoolean("check", Checked);

bundle.putInt("sex", sexFlag);

Intent intent=new Intent(MainActivity.this,ResultActivity.class);

intent.putExtra("info", bundle);

startActivity(intent);

MainActivity.this.finish();

}

});

cancel.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

MainActivity.this.finish();

}

});

};

//from

Spinner.OnItemSelectedListener fromItemSelectedListener=new Spinner.OnItemSelectedListener(){

@Override

public void onItemSelected(AdapterView<?> parent, View view,

int position, long id) {

// TODO Auto-generated method stub

plcFlag=position;

}

@Override

public void onNothingSelected(AdapterView<?> parent) {

// TODO Auto-generated method stub

}

};

//sex

RadioGroup.OnCheckedChangeListener sexCheckedChange=new RadioGroup.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(RadioGroup group, int checkedId) {

// TODO Auto-generated method stub

sexFlag=checkedId;

}

};

//check

CheckBox.OnCheckedChangeListener checkCheckListener=new CheckBox.OnCheckedChangeListener(){

@Override

public void onCheckedChanged(CompoundButton buttonView,

boolean isChecked) {

// TODO Auto-generated method stub

Checked=isChecked;

}

};

//ToggleButton

ToggleButton.OnCheckedChangeListener notifyCheckedListener=new ToggleButton.OnCheckedChangeListener(){

@Override

public void onCheckedChanged(CompoundButton buttonView,

boolean isChecked) {

// TODO Auto-generated method stub

isNotified=isChecked;

}

};

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}

}

ResultActivity.java

package com.example.tbopdpia_register;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class ResultActivity extends Activity{

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.result);

//设置标题

setTitle("注册成功");

//接收数据

Intent intent=this.getIntent();

Bundle bundle=intent.getBundleExtra("info");

String strUsername=bundle.getString("username");

String strEmail=bundle.getString("mail");

String strFrom=bundle.getString("from");

String strNodify=bundle.getBoolean("notify")?"是":"否";

String strSex=bundle.getInt("sex")==0?"男":"女";

TextView username=(TextView)findViewById(R.id.username);

username.setText(strUsername);

TextView mail=(TextView)findViewById(R.id.mail);

mail.setText(strEmail);

TextView from=(TextView)findViewById(R.id.from);

from.setText(strFrom);

TextView sex=(TextView)findViewById(R.id.sex);

sex.setText(strSex);

TextView nodify=(TextView)findViewById(R.id.notify);

nodify.setText(strNodify);

Button doneBt=(Button)findViewById(R.id.done);

doneBt.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

ResultActivity.this.finish();

}

});

}

}

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_gravity="center">

<TableLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center">

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="用户名"/>

<EditText

android:id="@+id/username"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入用户名"/>"

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="密码"/>

<EditText

android:id="@+id/password"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入密码"

android:inputType="textPassword"/>

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="确认密码"/>

<EditText

android:id="@+id/RePwd"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请再次输入密码"

android:inputType="textPassword"/>"

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="性别"/>

<RadioGroup

android:id="@+id/sex"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

<RadioButton

android:id="@+id/male"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:checked="true"

android:text="男"/><!-- 检查时候被选中 -->

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text=" "/>

<RadioButton

android:id="@+id/famle"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="女"/>"

</RadioGroup>

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="来自"/>

<Spinner

android:id="@+id/from"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="邮箱地址"/>

<EditText

android:id="@+id/email"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:inputType="textEmailAddress"/>"

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="邮箱通知"/>

<FrameLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content">

<ToggleButton

android:id="@+id/notify"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="ToggleButton"/>"

</FrameLayout><!-- 叠加的方式http://www.cnblogs.com/zhangs1986/archive/2013/01/17/2864899.html -->

</TableRow>

<TableRow

android:layout_height="wrap_content"

android:gravity="center">

<CheckBox

android:id="@+id/check"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="同意条款"/>

<!-- http://www.cnblogs.com/wt616/archive/2011/06/20/2085368.html -->

</TableRow>

</TableLayout>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:gravity="center">

<Button

android:id="@+id/btn_Regster"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="注册"/>

<Button

android:id="@+id/btn_Cancel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="取消"/>"

</LinearLayout>

</LinearLayout>

result.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"

android:gravity="center">

<!-- 用户名 -->

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:id="@+id/susername"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="用户名"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/username"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"

android:layout_toRightOf="@id/susername"/>

</RelativeLayout>

<!-- 性别 -->

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:id="@+id/ssex"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="性别"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/sex"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"

android:layout_toRightOf="@id/ssex"/>

</RelativeLayout>

<!-- 籍贯 -->

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:id="@+id/sfrom"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="籍贯"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/from"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"

android:layout_toRightOf="@id/sfrom"/>

</RelativeLayout>

<!-- 邮箱-->

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:id="@+id/smail"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="邮箱"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/mail"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"

android:layout_toRightOf="@id/smail"/>

</RelativeLayout>

<!-- 邮箱通知 -->

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

<TextView

android:id="@+id/snotify"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="邮箱通知"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/notify"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"

android:layout_toRightOf="@id/snotify"/>

</RelativeLayout>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textAppearance="?android:attr/textAppearanceMedium"/>

<Button

android:id="@+id/done"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="确定"/>"

</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: