package tjuci.dl.myweixin;
import android.app.Activity;
import android.app.AlertDialog;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AbsListView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
/**
* 此类 是对布局main.xml上 控件的操作
* @author dl
*
*/
public class LoginActivity extends Activity implements OnClickListener{
Button rebackBtn,loginBtn,forgetPasswdBtn;
EditText userEdit,passwdEdit;
PopupWindow popup ;
RelativeLayout loginLayout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.login);
rebackBtn = (Button)findViewById(R.id.login_reback_btn);
rebackBtn.setOnClickListener(this);//注册监听器 一定不能忘
loginBtn = (Button)findViewById(R.id.login_login_btn);
loginBtn.setOnClickListener(this);//注册监听器 一定不能忘
passwdEdit = (EditText)findViewById(R.id.login_passwd_edit);
userEdit = (EditText)findViewById(R.id.login_user_edit);
forgetPasswdBtn = (Button)findViewById(R.id.forget_passwd);
forgetPasswdBtn.setOnClickListener(this);
loginLayout = (RelativeLayout)findViewById(R.id.login_layout);
}
@Override
public void onClick(View v) {
int viewId = v.getId();
switch (viewId) {
case R.id.login_reback_btn://返回按钮
LoginActivity.this.finish();//关闭这个Activity 返回上一个Activity
break;
case R.id.login_login_btn://点击登录按钮 进行判断 用户名和密码是否为空
String userEditStr = userEdit.getText().toString().trim();
String passwdEditStr = passwdEdit.getText().toString().trim();
if(("".equals(userEditStr) || null == userEditStr) ||
("".equals(passwdEditStr) || null == passwdEditStr)){//只要用户名和密码有一个为空
new AlertDialog.Builder(LoginActivity.this)
.setIcon(getResources().getDrawable(R.drawable.login_error_icon))
.setTitle("登录失败")
.setMessage("微信账号或密码不能为空,请输入微信账号或密码")
.create().show();
}
break;
case R.id.forget_passwd://点击 “忘记密码” 这个文本
forgetPasswdBtn.setTextColor(Color.RED);//文本变成红色
View view = LayoutInflater.from(LoginActivity.this).inflate(R.layout.login_dialog, null);
popup = new PopupWindow(view, AbsListView.LayoutParams.FILL_PARENT, AbsListView.LayoutParams.WRAP_CONTENT);
popup.showAsDropDown(forgetPasswdBtn);
popup.setFocusable(false);
popup.setOutsideTouchable(true);
popup.showAtLocation(forgetPasswdBtn, Gravity.CENTER, 0, 0);
popup.update();
loginLayout.setBackgroundColor(Color.GRAY);
forgetPasswdBtn.setBackgroundColor(Color.GRAY);
forgetPasswdBtn.setEnabled(false);
break;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(popup!= null && popup.isShowing()){
popup.dismiss();
loginLayout.setBackgroundColor(Color.WHITE);
forgetPasswdBtn.setBackgroundColor(Color.WHITE);
forgetPasswdBtn.setEnabled(true);
}
return super.onTouchEvent(event);
}
}
金枝玉叶9
- 粉丝: 198
- 资源: 7637
最新资源
- 基于Go-micro微服务的秒杀系统详细文档+优秀项目+全部资料.zip
- 基于golang实现在线客服系统,包含用户端(h5,微信小程序),客服端(PC),方便跟已有的系统整合。适用于小程序自带的客服系统无法满足或有多端业务需求的情况详细文档+优秀项目+全部资料.zip
- 基于gorillawebsocket封装的websocket库,实现基于系统维度的消息推送,基于群组维度的消息推送,基于单个和多个客户端消息推送详细文档+优秀项目+全部资料.zip
- 基于Go-Zero + Vue3 + TypeScript + Element-Plus开发的简单高效权限管理系统详细文档+优秀项目+全部资料.zip
- 基于Go-Zero Nestjs + Vue3 + TypeScript + Element-Plus开发的简单高效权限管理系统详细文档+优秀项目+全部资料.zip
- linux常用命令大全.txt
- 基于go-zero的影票售卖系统详细文档+优秀项目+全部资料.zip
- 基于Go-Zero + vue-element-admin的前后端分离微服务管理系统的前端模块详细文档+优秀项目+全部资料.zip
- 基于go-zero 框架实现的电商系统的后端服务详细文档+优秀项目+全部资料.zip
- 基于go-zero实现的网盘系统详细文档+优秀项目+全部资料.zip
- 基于go-zero框架数据中台系统详细文档+优秀项目+全部资料.zip
- 基于go-zero和gorm开发的分布式微服务后端权限管理系统脚手架。十分合适新手入手go-zero、gorm、casbin、jwt等。详细文档+优秀项目+全部
- 基于Go的WebSocket直播间推送系统详细文档+优秀项目+全部资料.zip
- 基于Go和GraphQL的微型进销存系统:服务器端(基于Golang,GraphQL,GORM,jwt-go等开发)详细文档+优秀项目+全部资料.zip
- 基于go的自托管博客系统详细文档+优秀项目+全部资料.zip
- 基于go开发的分布式高并发web电商系统详细文档+优秀项目+全部资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈