直播平台制作,EditText实现“眼睛”效果
直播平台制作,EditText实现“眼睛”效果
1.准备个EditText
1 | <br><EditText<br> android:id= "@+id/et_pwd" <br> android:paddingRight= "10dp" <br> android:drawableRight= "@drawable/lol_icon_eye_close" <br> // 默认关闭的眼睛,这里要先设置图片,以便于调整大小<br> android:inputType="textPassword" <br> ...<br>/><br> |
2.实现眼睛开闭
1 | <br> private boolean isHidePwd = true; // 输入框密码是否是隐藏的,默认为true<br>private void initView(){<br> <br>et_pwd = (EditText) view.findViewById(R.id.et_pwd);<br>final Drawable[] drawables = et_pwd.getCompoundDrawables() ;<br>final int eyeWidth = drawables[2].getBounds().width() ;// 眼睛图标的宽度<br>final Drawable drawableEyeOpen = getResources().getDrawable(R.drawable.lol_icon_eye_open) ;<br>drawableEyeOpen.setBounds(drawables[2].getBounds());//这一步不能省略<br>et_pwd.setOnTouchListener(new View.OnTouchListener() {<br> @Override<br> public boolean onTouch(View v, MotionEvent event) {<br> if(event.getAction() == MotionEvent.ACTION_UP){<br> // getWidth,getHeight必须在这里处理<br> float et_pwdMinX = v.getWidth() - eyeWidth - et_pwd.getPaddingRight() ;<br> float et_pwdMaxX = v.getWidth() ;<br> float et_pwdMinY = 0 ;<br> float et_pwdMaxY = v.getHeight();<br> float x = event.getX() ;<br> float y = event.getY() ;<br> if(x < et_pwdMaxX && x > et_pwdMinX && y > et_pwdMinY && y < et_pwdMaxY){<br> // 点击了眼睛图标的位置<br> isHidePwd = !isHidePwd ;<br> if(isHidePwd){<br> et_pwd.setCompoundDrawables(drawables[0] ,<br> drawables[2] , <br> drawables[3]);<br> et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance());<br> }<br> else {<br> et_pwd.setCompoundDrawables(drawables[0] , <br> drawableEyeOpen , <br> drawables[3]);<br> et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());<br> }<br> }<br> }<br> return false;<br> }<br> });<br>...<br>} |
以上就是 直播平台制作,EditText实现“眼睛”效果,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-07-06 在线直播系统源码,使用ValueAnimator实现view放大缩小动画效果
2022-07-06 短视频开发app,vue v-viewer库 显示出图片名称
2022-07-06 直播平台源码,可折叠式菜单栏