zoukankan      html  css  js  c++  java
  • 是男人就下100层【第一层】——高仿微信界面(3)

    上一篇《是男人就下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("微信帐号或者密码不能为空,
    请输入后再登录!")
    					.create().show();
    		} else {
    
    			new AlertDialog.Builder(Login.this)
    					.setIcon(
    							getResources().getDrawable(
    									R.drawable.login_error_icon))
    					.setTitle("登录失败").setMessage("微信帐号或者密码不正确,
    请检查后重新输入!")
    					.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


  • 相关阅读:
    appium 元素定位方法
    Mac 使用MuMu模拟器调试
    渗透测试工具Drozer安装使用(Mac)
    渗透测试工具Drozer安装使用(Windows)
    python虚拟环境搭建
    HDU 6900 Residual Polynomial【分治 NTT】
    CF 1405E Fixed Point Removal【线段树上二分】
    Educational Codeforces Round 41
    Educational Codeforces Round 39
    Educational Codeforces Round 36
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469169.html
Copyright © 2011-2022 走看看