简书App 是我很喜欢的一款软件。今天就模仿了一下他的登录框。先上图: 好了下面上代码,自定义ImgEditText 继承与EditText。重写一些方法。 package lyf.myimgedittextdemo; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.TextWatcher; import android.util. 在Android开发中,创建自定义视图是一种常见的需求,以便实现特定的设计或功能。本示例中的`ImgEditText`类就是一个自定义的编辑文本视图,它扩展了`EditText`并添加了一些额外的功能,比如在输入框右侧显示可点击的图片,模仿了简书App的登录框效果。 `ImgEditText`类有两个私有成员变量,`leftDrawable`和`rightDrawable`,分别用于存储编辑框左侧和右侧的图片。通过`setCompoundDrawablesWithIntrinsicBounds()`方法,我们可以设置这些图片,并调整它们的大小。在这个例子中,图片的宽度和高度都被设置为50像素。 接着,`ImgEditText`实现了`TextWatcher`接口,这样就可以监听文本内容的变化。当用户在输入框中输入文字时,`onTextChanged()`方法会被调用,可以在此处理相关的逻辑,比如验证输入格式、更新按钮状态等。 此外,`ImgEditText`还重写了`onFocusChanged()`方法,以检测编辑框是否获得焦点。如果获得了焦点,`hasFoucs`变量会被设置为`true`,反之则为`false`。这在实现某些交互效果时非常有用,例如,当用户点击输入框时显示或隐藏右侧的图片。 在初始化方法`init()`中,`ImgEditText`获取了默认的图片,并通过`setCompoundDrawablesWithIntrinsicBounds()`设置了初始的边界。同时,它也添加了自身作为`TextWatcher`,确保能监听到文本的变化。 `ImgEditText`还有一个`IMyRightDrawableClick`接口,用于处理右侧图片的点击事件。这使得外部类可以注册监听器来响应用户的点击操作,比如切换显示/隐藏密码或者清除输入内容。 `ImgEditText`的构造函数需要正确地处理各种场景,包括从XML布局文件中实例化时需要的默认样式。`this(context, attrs, android.R.attr.editTextStyle)`这一行代码就是确保从XML中加载正确的默认样式。 这个自定义`ImgEditText`组件提供了更丰富的交互体验,可以方便地在Android应用中实现类似简书登录框的效果。通过这样的自定义视图,开发者可以更灵活地设计界面,满足特定的用户体验需求。
- 粉丝: 4
- 资源: 974
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js基础但是这个烂怂东西要求标题不能少于10个字才能上传然后我其实还没有写完之后再修订吧.md
- electron-tabs-master
- Unity3D 布朗运动算法插件 Brownian Motion
- 鼎微R16中控升级包R16-4.5.10-20170221及强制升级方法
- 鼎微R16中控升级包公版UI 2015及强制升级方法,救砖包
- 基于CSS与JavaScript的积分系统设计源码
- 生物化学作业_1_生物化学作业资料.pdf
- 基于libgdx引擎的Java开发连连看游戏设计源码
- 基于MobileNetV3的SSD目标检测算法PyTorch实现设计源码
- 基于Java JDK的全面框架设计源码学习项目
评论0