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

                                                                   

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

                                                                                    

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;@Overrideprotected 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() {@Overridepublic 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);}}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after) {}@Overridepublic void afterTextChanged(Editable s) {}});password = (EditText) findViewById(R.id.password);// 监听文本框内容变化password.addTextChangedListener(new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before,int count) {// 获得文本框中的用户String pwd = password.getText().toString().trim();if ("".equals(pwd)) {// 用户名为空,设置按钮不可见bt_pwd_clear.setVisibility(View.INVISIBLE);} else {// 用户名不为空,设置按钮可见bt_pwd_clear.setVisibility(View.VISIBLE);}}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count,int after) {}@Overridepublic 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);register = (Button) findViewById(R.id.register);register.setOnClickListener(this);forgive_pwd = (Button) findViewById(R.id.forgive_pwd);forgive_pwd.setOnClickListener(this);}@Overridepublic 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,就是这么简单,效果完成。

点我下载源码

更多相关文章

  1. 学习Android从0开始之ActionBar(活动条)之提高篇
  2. Android(安卓)如何禁止屏幕灭屏
  3. 对在Android的状态栏添加Menu,Back,Home的改进
  4. Android中使用4种方式实现按钮点击操作
  5. Android笔记---常用控件以及用法
  6. Android用户界面开发(10):Button
  7. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could no
  8. Android(安卓)Activity中的四种启动模式
  9. android课后作业

随机推荐

  1. Android安全防护防护———Android(安卓)
  2. android长度单位
  3. android telephony 之 UICC 卡数据读写及
  4. Android_android签名证书的sha1值获取
  5. android Application Component研究之Con
  6. [置顶] 编译自己的Windows Android(安卓)
  7. Android消息处理机制(二):循环和消息队列的
  8. Android支付——支付宝支付总结
  9. Android(安卓)Touch系统简介(二):实例详解o
  10. LinearLayout中组件右对齐