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

是男人就下100层【第一层】——高仿微信界面(3)

2014-02-27 00:00 134 查看
上一篇《是男人就下100层【第一层】——高仿微信界面(2)》中实现了注册登录界面,这一篇来看看具体的登录界面实现,先来看看界面效果。



登录界面布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#eee"
android:orientation="vertical"
android:gravity="center_horizontal">
<RelativeLayout
android:id="@+id/login_top_layout"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:layout_alignParentTop="true"
android:background="@drawable/title_bar">
<Button
android:id="@+id/login_reback_btn"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="返回"
android:textSize="14sp"
android:textColor="#fff"
android:onClick="login_back"
android:background="@drawable/title_btn_back"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#ffffff"
android:text="登录"
/>

</RelativeLayout>
<EditText
android:id="@+id/login_user_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_top_layout"
android:textColor="#000"
android:textSize="15sp"
android:layout_marginTop="25dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:singleLine="true"
android:background="@drawable/login_editbox"
android:hint="QQ号/微信号/手机号(请输入buaa)"/>
<EditText
android:id="@+id/login_passwd_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_user_edit"
android:textColor="#000"
android:textSize="15sp"
android:layout_marginTop="25dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/login_editbox"
android:password="true"
android:singleLine="true"
android:hint="密码(请输入123)"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@+id/login_passwd_edit"
>
<Button
android:id="@+id/forget_passwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="23dp"
android:layout_marginTop="5dp"
android:text="忘记密码?"
android:textSize="16sp"
android:textColor="#00f"
android:background="#0000"
android:onClick="login_pw"
/>
<Button
android:id="@+id/login_login_btn"
android:layout_width="90dp"
android:layout_height="40dp"
android:layout_marginRight="20dp"
android:layout_alignParentRight="true"
android:text="登录"
android:background="@drawable/btn_style_green"
android:textColor="#ffffff"
android:textSize="18sp"
android:onClick="login_mainweixin"
/>
</RelativeLayout>
</RelativeLayout>
在上面的界面中需要注意的是“返回”按钮的背景资源文件

<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/mm_title_back_focused" />
<item android:state_pressed="true" android:drawable="@drawable/mm_title_back_pressed" />
<item android:state_selected="true" android:drawable="@drawable/mm_title_back_pressed" />
<item android:drawable="@drawable/mm_title_back_normal" />
</selector>
上一篇中已经见过,这里就不啰嗦了

输入框的背景布局文件

<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"  android:drawable="@drawable/login_edit_pressed" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/login_edit_pressed" />
<item android:state_focused="false" android:drawable="@drawable/login_edit_normal" />
</selector>
按下获得焦点和失去焦点的背景不同



接下来处理数据校验和跳转

public void login_mainweixin(View v) {
if ("dawanganban".equals(mUser.getText().toString())
&& "123456".equals(mPassword.getText().toString())) // 判断 帐号和密码
{
Intent intent = new Intent();
intent.setClass(Login.this, LoadActivity.class);
startActivity(intent);
// Toast.makeText(getApplicationContext(), "登录成功",
// Toast.LENGTH_SHORT).show();
} else if ("".equals(mUser.getText().toString())
|| "".equals(mPassword.getText().toString())) // 判断 帐号和密码
{
new AlertDialog.Builder(Login.this)
.setIcon(
getResources().getDrawable(
R.drawable.login_error_icon))
.setTitle("登录错误").setMessage("微信帐号或者密码不能为空,\n请输入后再登录!")
.create().show();
} else {

new AlertDialog.Builder(Login.this)
.setIcon(
getResources().getDrawable(
R.drawable.login_error_icon))
.setTitle("登录失败").setMessage("微信帐号或者密码不正确,\n请检查后重新输入!")
.create().show();
}
}
点忘记密码就不处理了,直接跳到一个页面吧

public void login_pw(View v) { // 忘记密码按钮
Uri uri = Uri.parse("http://blog.csdn.net/dawanganban");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
还有一个返回按钮,直接关闭当前Activity

public void login_back(View v) { // 标题栏 返回按钮
this.finish();
}
运行结果:





源代码下载:http://download.csdn.net/detail/lxq_xsyu/6966767

下一篇:http://blog.csdn.net/dawanganban/article/details/20079141
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: