Android登录界面的实现代码分享

Android登录界面的实现代码分享,第1张

概述最近由于项目需要,宝宝好久没搞Android啦,又是因为项目需要,现在继续弄Android,哎,说多了都是泪呀,别的不用多说,先搞一个登录界面练练手,登录界面可以说是Android项目中最常用也是最基本的,如果这个都搞不定

最近由于项目需要,宝宝好久没搞AndroID啦,又是因为项目需要,现在继续弄AndroID,哎,说多了都是泪呀,别的不用多说,先搞一个登录界面练练手,登录界面可以说是AndroID项目中最常用也是最基本的,如果这个都搞不定,那可以直接去跳21世纪楼啦。

废话不多说,先上效果图了,如果大家感觉还不错,请参考实现代码吧。

相信这种渣渣布局对很多人来说太简单啦,直接上布局:

<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:custom="http://schemas.androID.com/apk/res-auto" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:fitsSystemwindows="true" > <relativeLayout androID:ID="@+ID/login_layout" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:layout_marginleft="20dp" androID:layout_marginRight="20dp" androID:gravity="center" > <FrameLayout androID:ID="@+ID/username_layout" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:layout_margintop="55dp" androID:gravity="center" > <!-- androID:inputType="number" --> <EditText androID:ID="@+ID/username" androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:layout_margintop="5dp" androID:maxLength="20" androID:paddingleft="55dp" androID:paddingRight="60dp" > </EditText> <ImageVIEw androID:layout_wIDth="22dp" androID:layout_height="21dp" androID:layout_gravity="left|center_vertical" androID:layout_marginStart="10dp" androID:background="@drawable/username" androID:visibility="visible" /> <TextVIEw androID:ID="@+ID/contry_sn" androID:layout_wIDth="40dp" androID:layout_height="50dp" androID:layout_gravity="left|center_vertical" androID:layout_margintop="4dp" androID:gravity="center" androID:text="+62" androID:textcolor="@androID:color/black" androID:textSize="18sp" androID:visibility="invisible" /> <button androID:ID="@+ID/bt_username_clear" androID:layout_wIDth="35dp" androID:layout_height="35dp" androID:layout_gravity="right|center_vertical" androID:layout_marginRight="10dp" androID:background="@drawable/email_delete_pressed" androID:visibility="invisible" /> </FrameLayout> <FrameLayout androID:ID="@+ID/usercode_layout" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:layout_below="@ID/username_layout" androID:layout_margintop="6dp" androID:gravity="center" > <EditText androID:ID="@+ID/password" androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:inputType="textPassword" androID:maxLength="20" androID:paddingleft="55dp" androID:paddingRight="60dp" > </EditText> <ImageVIEw androID:layout_wIDth="18dp" androID:layout_height="21dp" androID:layout_gravity="left|center_vertical" androID:layout_marginStart="10dp" androID:background="@drawable/password" /> <button androID:ID="@+ID/bt_pwd_eye" androID:layout_wIDth="40dp" androID:layout_height="40dp" androID:layout_gravity="right|center_vertical" androID:layout_marginRight="10dp" androID:background="@drawable/password_close" /> <button androID:ID="@+ID/bt_pwd_clear" androID:layout_wIDth="35dp" androID:layout_height="35dp" androID:layout_gravity="right|center_vertical" androID:layout_marginRight="45dp" androID:background="@drawable/email_delete_pressed" androID:visibility="invisible" /> </FrameLayout> <button androID:ID="@+ID/login" androID:layout_wIDth="fill_parent" androID:layout_height="40dp" androID:layout_below="@ID/usercode_layout" androID:layout_margintop="30dp" androID:background="@drawable/login_selector" androID:gravity="center" androID:text="登录" androID:textcolor="@androID:color/white" /> <button androID:ID="@+ID/forgive_pwd" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignRight="@ID/login" androID:layout_below="@ID/login" androID:background="#00000000" androID:text="忘记密码?" androID:textcolor="@drawable/text_color_selector" androID:textSize="16sp" /> <button androID:ID="@+ID/register" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignleft="@ID/login" androID:layout_below="@ID/login" androID:background="#00000000" androID:gravity="left|center_vertical" androID:text="注册" androID:textcolor="@drawable/text_color_selector" androID:textSize="16sp" androID:visibility="visible" /> </relativeLayout> </relativeLayout> 

MainActivity如下:

package com.example.logindemo; import androID.support.v7.app.ActionBaractivity; import androID.text.Editable; import androID.text.TextWatcher; import androID.text.method.HIDeReturnstransformationMethod; import androID.text.method.PasswordtransformationMethod; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.Widget.button; import androID.Widget.EditText; import androID.Widget.Toast; import androID.os.Bundle; /** * 登录界面Demo * * @author ZHY * */ public class MainActivity extends ActionBaractivity implements OnClickListener { private EditText username,password; private button bt_username_clear; private button bt_pwd_clear; private button forgive_pwd; private button bt_pwd_eye; private button login; private button register; private boolean isOpen = false; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); initVIEw(); } private voID initVIEw() { username = (EditText) findVIEwByID(R.ID.username); // 监听文本框内容变化 username.addTextChangedListener(new TextWatcher() { @OverrIDe public voID onTextChanged(CharSequence s,int start,int before,int count) { // 获得文本框中的用户 String user = username.getText().toString().trim(); if ("".equals(user)) { // 用户名为空,设置按钮不可见 bt_username_clear.setVisibility(VIEw.INVISIBLE); } else { // 用户名不为空,设置按钮可见 bt_username_clear.setVisibility(VIEw.VISIBLE); } } @OverrIDe public voID beforeTextChanged(CharSequence s,int count,int after) { } @OverrIDe public voID afterTextChanged(Editable s) { } }); password = (EditText) findVIEwByID(R.ID.password); // 监听文本框内容变化 password.addTextChangedListener(new TextWatcher() { @OverrIDe public voID onTextChanged(CharSequence s,int count) { // 获得文本框中的用户 String pwd = password.getText().toString().trim(); if ("".equals(pwd)) { // 用户名为空,设置按钮不可见 bt_pwd_clear.setVisibility(VIEw.INVISIBLE); } else { // 用户名不为空,设置按钮可见 bt_pwd_clear.setVisibility(VIEw.VISIBLE); } } @OverrIDe public voID beforeTextChanged(CharSequence s,int after) { } @OverrIDe public voID afterTextChanged(Editable s) { } }); bt_username_clear = (button) findVIEwByID(R.ID.bt_username_clear); bt_username_clear.setonClickListener(this); bt_pwd_clear = (button) findVIEwByID(R.ID.bt_pwd_clear); bt_pwd_clear.setonClickListener(this); bt_pwd_eye = (button) findVIEwByID(R.ID.bt_pwd_eye); bt_pwd_eye.setonClickListener(this); login = (button) findVIEwByID(R.ID.login); login.setonClickListener(this); egister = (button) findVIEwByID(R.ID.register); register.setonClickListener(this); forgive_pwd = (button) findVIEwByID(R.ID.forgive_pwd); forgive_pwd.setonClickListener(this); } @OverrIDe public voID onClick(VIEw v) { switch (v.getID()) { case R.ID.bt_username_clear: // 清除登录名 username.setText(""); break; case R.ID.bt_pwd_clear: // 清除密码 password.setText(""); break; case R.ID.bt_pwd_eye: // 密码可见与不可见的切换 if (isOpen) { isOpen = false; } else { isOpen = true; } // 默认isOpen是false,密码不可见 changePwdOpenorClose(isOpen); break; case R.ID.login: // Todo 登录按钮 break; case R.ID.register: // 注册按钮 Toast.makeText(MainActivity.this,"注册",0).show(); break; case R.ID.forgive_pwd: // 忘记密码按钮 Toast.makeText(MainActivity.this,"忘记密码",0).show(); break; default: break; } } /** * 密码可见与不可见的切换 * * @param flag */ private voID changePwdOpenorClose(boolean flag) { // 第一次过来是false,密码不可见 if (flag) { // 密码可见 bt_pwd_eye.setBackgroundResource(R.drawable.password_open); // 设置EditText的密码可见 password.settransformationMethod(HIDeReturnstransformationMethod .getInstance()); } else { // 密码不接见 bt_pwd_eye.setBackgroundResource(R.drawable.password_close); // 设置EditText的密码隐藏 password.settransformationMethod(PasswordtransformationMethod .getInstance()); } } } 

Ok,就是这么简单,效果完成。

以上所述是小编给大家介绍的AndroID登录界面的实现代码分享,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的Android登录界面的实现代码分享全部内容,希望文章能够帮你解决Android登录界面的实现代码分享所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1147863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存