直播平台制作,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实现“眼睛”效果,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-07-06 在线直播系统源码,使用ValueAnimator实现view放大缩小动画效果
2022-07-06 短视频开发app,vue v-viewer库 显示出图片名称
2022-07-06 直播平台源码,可折叠式菜单栏
点击右上角即可分享
微信分享提示