首页 > 其他分享 >直播平台制作,EditText实现“眼睛”效果

直播平台制作,EditText实现“眼睛”效果

时间:2023-07-06 14:12:28浏览次数:33  
标签:isHidePwd EditText float drawables pwd 直播 et 制作

直播平台制作,EditText实现“眼睛”效果

1.准备个EditText

 


<EditText
            android:id="@+id/et_pwd"
            android:paddingRight="10dp"
            android:drawableRight="@drawable/lol_icon_eye_close"
            // 默认关闭的眼睛,这里要先设置图片,以便于调整大小
            android:inputType="textPassword" 
            ...
/>
 

2.实现眼睛开闭

 


private boolean isHidePwd = true;// 输入框密码是否是隐藏的,默认为true
private void initView(){
 
et_pwd = (EditText) view.findViewById(R.id.et_pwd);
final Drawable[] drawables = et_pwd.getCompoundDrawables() ;
final int eyeWidth = drawables[2].getBounds().width() ;// 眼睛图标的宽度
final Drawable drawableEyeOpen = getResources().getDrawable(R.drawable.lol_icon_eye_open) ;
drawableEyeOpen.setBounds(drawables[2].getBounds());//这一步不能省略
et_pwd.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_UP){
            // getWidth,getHeight必须在这里处理
            float et_pwdMinX = v.getWidth() - eyeWidth - et_pwd.getPaddingRight() ;
            float et_pwdMaxX = v.getWidth() ;
            float et_pwdMinY = 0 ;
            float et_pwdMaxY = v.getHeight();
            float x = event.getX() ;
            float y = event.getY() ;
            if(x < et_pwdMaxX && x > et_pwdMinX && y > et_pwdMinY && y < et_pwdMaxY){
                // 点击了眼睛图标的位置
                isHidePwd = !isHidePwd ;
                if(isHidePwd){
                    et_pwd.setCompoundDrawables(drawables[0] ,
                        drawables[2] , 
                        drawables[3]);
        et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
                        }
                else {
                                        et_pwd.setCompoundDrawables(drawables[0] , 
                        drawableEyeOpen , 
                        drawables[3]);
                            et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                        }
                    }
                }
                return false;
            }
        });
...
}

 

 以上就是 直播平台制作,EditText实现“眼睛”效果,更多内容欢迎关注之后的文章

 

标签:isHidePwd,EditText,float,drawables,pwd,直播,et,制作
From: https://www.cnblogs.com/yunbaomengnan/p/17531981.html

相关文章

  • 行行AI人才直播第7期:奇计AI创始人左晟《AI时代的商业挑战和机遇》
    行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台,是园子商业化努力的一个重要方向。行行AI人才直播希望以直播的方式让大家更多了解AI行业的现状与未来可能的发展方向。随着人工智能技术的不断发展,我们正逐渐步入一个全新的智能时代。AI 的应用正在深......
  • 返回顶部的按钮制作
    一、我们的需求1、滚动条滚动超过临界点的时候,顶部通栏显示,未超过就隐藏2、滚动条滚动超过临界点,回到顶部按钮显示,未超过就隐藏3、点击回到顶部按钮,滚动条滚动回到顶部二、布局结构1.需要一个顶部标签和一个回到顶部按钮标签2.让页......
  • 制作自己的Ubuntu系统镜像ISO
    Ubuntu镜像制作1目的你有是否有过这样的经历:好不容易花了好大的心思心血搭建好了一个Ubuntu系统,例如安装了Python的开发环境,各种虚拟环境,各种ide的安装,突然有一天需要在另外一台电脑上需要重新搭建,这个过程估计没有1天也至少的有0.5天的工作量所以说,怎样避免这样的问题,或者说......
  • Github | 制作您的第一个开源合并请求
    Github|制作您的第一个开源合并请求文章目录Github|制作您的第一个开源合并请求1.背景2.前提3.上手贡献开源1.背景开源软件是原始源代码可免费获得并可重新分发和修改的软件。作为一名程序员,我们更感兴趣的是如何为他们的代码库做出贡献。许多新手发现开源是可怕和令人生......
  • 直播源码开发,文字垂直滚动、纵向走马灯
    直播源码开发,文字垂直滚动、纵向走马灯方法一、使用系统控件ViewFlipper方式:布局文件: <ViewFlipper    android:id="@+id/view_flipper"    android:layout_width="300dp"    android:layout_height="35dp"    android:layout_centerInParen......
  • 直播软件搭建,生成二维码及添加logo
    直播软件搭建,生成二维码及添加logo  @Override  publicBitmapgenerateBitmap(Stringcontent,intwidth,intheight){    QRCodeWriterqrCodeWriter=newQRCodeWriter();    Map<EncodeHintType,String>hints=newHashMap<>();    h......
  • 直播商城源码,加载网页、html文件显示加载进度
    直播商城源码,加载网页、html文件显示加载进度新建加载WebViewActivity新建WebViewActivity加载网页html文件 classWebViewActivity:AppCompatActivity(){     overridefunonCreate(savedInstanceState:Bundle?){    super.onCreate(savedInstanceSta......
  • 语音直播源码知识分享:探索新的沟通方式
     语音直播是一种借助在线平台或应用程序进行实时语音传输的形式,它在互联网发展的背景下逐渐兴起,并受到越来越多人的关注和喜爱。 随着互联网的快速发展和社交媒体的普及,传统文字、图像的沟通方式已经无法满足人们日益增长的交流需求。在这个背景下,语音直播作为一种创新的沟通......
  • 流程图的魅力【在markdown中使用mermaid格式制作流程图】
    ......
  • 探秘高逼格艺术二维码的制作过程-AI绘画文生图
    前几天看到几个逼格比较高的二维码,然后自己动手做了一下,给大家看看效果:1、文生图(狮子):2、文生图(城市): 下边将开始介绍怎么做的,有兴趣的可以继续读一读。这里使用的AI绘图工具是StableDiffusion,没有的同学需要去部署一个,计算平台国内建议使用AutoDL,国外可以白嫖Kaggle的......