Android自定义注册页面提示,替换Toast功能

来源:互联网 发布:sql工程师培训 编辑:程序博客网 时间:2024/06/06 05:14

最近项目中,在注册页面要实现判断用户是否输入了文字,两次密码是否一样,因此对用户填写的信息进行提示性的校验。

先看效果图

这里写图片描述
这里写图片描述

布局页面主要是在要显示提示的地方添加布局LinearLayout。里面是一个ImageView和一个TextView,默认设置为android:visibility=”gone”。

<LinearLayout         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:gravity="center_horizontal"        android:background="#F6F5F4"        >        <ImageView            android:id="@+id/iv_tips"            android:layout_gravity="center_vertical"             android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:visibility="gone"            android:background="@drawable/icon_right_jiantou"            />    <TextView        android:id="@+id/tv_tips"         android:visibility="gone"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="两次密码输入不同"        android:gravity="center_horizontal"        android:padding="8dp"        android:layout_margin="2dp"        android:textSize="16sp"        android:textColor="#ff0000"        android:background="#F6F5F4"        />    </LinearLayout>

具体实现就是在代码中判断EditText是否为空,如果为空则显示控件,并且设置TextView的文字,在注册按钮的点击事件中实现具体逻辑:用户文本框有空的时候:

iv_tips.setVisibility(View.VISIBLE);//设置显示
tv_tips.setVisibility(View.VISIBLE);//设置显示
tv_tips.setText(“填写完整信息才能注册!”);//设置提示的文字
当两次输入密码不一致的时候就显示布局中的控件:
iv_tips.setVisibility(View.VISIBLE);
tv_tips.setVisibility(View.VISIBLE);
tv_tips.setText(“两次输入密码不一致!”);
这样就能动态显示提示,从而替代Toast的功能。

代码实现:

//手机号String PhoneNumber = et_rg_mobile.getText().toString();//第一次密码     String newPass = (et_rg_password.getText().toString());//第二次输入密码String againPass =(et_rg_password_again.getText().toString());                    if (TextUtils.isEmpty(et_rg_mobile.getText())||TextUtils.isEmpty(et_rg_yanzhengma.getText())        ||TextUtils.isEmpty(et_rg_password.getText())||TextUtils.isEmpty(et_rg_password_again.getText())) {//判断文本框为空                iv_tips.setVisibility(View.VISIBLE);                tv_tips.setVisibility(View.VISIBLE);                tv_tips.setText("填写完整信息才能注册!");                return;            }            //两次密码一致            if ((againPass.equals(newPass))) {                iv_tips.setVisibility(View.GONE);                tv_tips.setVisibility(View.GONE);            }else {                iv_tips.setVisibility(View.VISIBLE);                tv_tips.setVisibility(View.VISIBLE);                tv_tips.setText("两次输入密码不一致!");              }            break;        }
0 0
原创粉丝点击