Android学习笔记3---仿微信登录界面

本文介绍了一款仿微信登录界面的设计与实现过程,包括使用TextView、EditText和Button等控件,实现手机号验证、密码隐藏及页面跳转等功能。

仿微信登录界面有几个东西,分别是

1、欢迎页,2秒跳转

2、用户名只允许为手机号

3、密码不可见

4、以及忘记密码页面跳转

主要用了3个控件,分别是:TextView、EditView、Button

运用到前两节学习的按钮监听事件,以及内容监听事件。

layout怎么布局的,Manifest文件怎么写的,做了一个整合。

实现如下:

界面怎么布局的可以自己在网上搜一个,然后根据经验自己改。

启动的时候出现运行停止的状况,不知道有没有跟我一样


解决:因为欢迎页先出现,所以需要将WelcomeActivity设置成默认启动项

<activity android:name=".WelcomeActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

而且,没添加一个Activity的时候,一定要在AndroidManifest.xml文件里面注册一下,不然又会重蹈覆辙,我做登录跳转到Index界面的时候就又出现了这种问题,被自己卡住1h,想想自己真是笨到无药可救,所以聪明的你千万不要再犯和我一样的错误。

<activity android:name=".IndexActivity">
        </activity>

还有一个问题被子自己傻到:我在登录的下面加了一个TextView,用于显示监听手机号格式是否正确的东西。

        <TextView
            android:id="@+id/prompt_info"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="24dp"
            android:paddingBottom="7dp"
            android:paddingTop="7dp"
            />

逻辑处理如下:

// 监听多个输入框
        //监听电话
        et_usertel.addTextChangedListener(new TextChange(){
            @Override
            public void afterTextChanged(Editable arg0) {
                super.afterTextChanged(arg0);
                if(isMobileNO(et_usertel.getText().toString())){
                    prompt_info.setText("success");
//            System.out.println("Yes");
                }else {
                    prompt_info.setText("fail");
//            System.out.println("Yes");
                }
            }
        });

addTextChangedListener(new TextChange(){ });
第一次用这个方法,不太会的,搞了很久,哎,所以才被自己傻到。

PS:验证手机格式是百度的,感觉人家写的这个挺好的,谢谢那个作者。

  /*
     *  验证手机格式
     */
    public boolean isMobileNO(String mobiles)
    {
    /*
    移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
    联通:130、131、132、152、155、156、185、186
    电信:133、153、180、189、(1349卫通)
    总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
    */
        String telRegex = "[1][3578]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
        if (mobiles == null || mobiles.length()==0 || mobiles.length()!=11)
            return false;
        else
            return mobiles.matches(telRegex);
    }


代码已上传,后期在完善。贴几张运行的效果图,美一下。

这个是欢迎页

这个是主页面

手机号正确的时候,会显示success

手机号位数不够或格式错误的时候会显示fail,密码是密文

点登陆,点找回密码,点注册分别会出现上面几张效果图,当然,没有好看的页面,逻辑也没有处理,后期更新,


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值