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

时间:2022-09-08 11:24:36

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

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

登录界面布局

<?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>
按下获得焦点和失去焦点的背景不同

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

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

	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();
	}
运行结果:

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


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

下一篇:http://blog.csdn.net/dawanganban/article/details/20079141