public class MyEditText extends EditText{ private Context mContext; private Drawable drawable; private Drawable bgDrawable; public MyEditText(Context context) { super(context); mContext = context; init(); } public MyEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = context; init(); } public MyEditText(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; init(); } private void init(){ setBackgroundResource(R.drawable.shape_my_edit); drawable = mContext.getResources().getDrawable(R.drawable.delete); bgDrawable = mContext.getResources().getDrawable(R.drawable.login_ok); addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) { setDrawable(); } @Override public void afterTextChanged(Editable s) {} }); } private void setDrawable(){ if(length() < 1){ setCompoundDrawablesWithIntrinsicBounds(null,null,null,null); }else if(length() == 11){ setCompoundDrawablesWithIntrinsicBounds(null,null, bgDrawable,null); }else{ setCompoundDrawablesWithIntrinsicBounds(null,null, drawable,null); } } @Override public boolean onTouchEvent(MotionEvent event) { if (drawable != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if(rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); } } 效果图见附件
相关推荐
大家在做商城购物类的APP时,肯定遇到过需要自定义带加减的EditText 那么我上传的这个自定义的EditText: 1.可以根据个人的实际UI需求,修改成自己喜欢的颜色和形状。 2.里面的加和减的业务逻辑判断已完善,大部分...
4. 如果想要实现全局引用,可以将自定义的EditText控件封装到一个库项目中,然后在其他项目中通过Gradle依赖引入,或者将其源码复制到每个需要用到的项目中。 5. 在使用自定义EditText的地方,替换原有的EditText...
在Android开发中,自定义EditText控件是一种常见的需求,它可以让开发者根据应用的特定需求定制输入框的样式、行为和功能。本篇文章将深入探讨如何在Android中实现自定义EditText,帮助开发者拓展其应用程序的用户...
首先,我们需要创建一个新的自定义Edittext类,继承自Android的EditText。在自定义类中,我们可以重写onDraw方法来绘制额外的元素,如左边的图片,并添加点击监听器来处理点击事件。这里,描述中提到了“加入了接口...
本文将详细介绍如何通过自定义EditText控件实现一个功能完善的登录用户名和密码输入框,包括输入时显示删除按钮以及密码的星号加密显示。我们将讨论以下几个关键知识点: 1. **自定义EditText** 自定义View是...
5. **自定义EditText类**: 创建一个新的Java类继承自EditText,将上述定制的功能集成到这个新类中。这样可以方便地在项目中重复使用这个自定义组件,并保持代码的整洁和模块化。 6. **代码实现**: 压缩包中的代码...
本篇文章将深入探讨如何创建一个自定义的`EditText`控件,基于提供的"CancelEditText"这个例子,我们将学习到以下知识点: 1. **自定义视图类**: 首先,我们需要创建一个新的Java类,继承自`EditText`。这样,我们...
在项目中,你可以将这个自定义EditText作为一个自定义组件封装起来,方便在多个地方复用。这可以通过创建一个新的Java类继承自EditText,并在其中包含上述逻辑。这样,只需引入这个自定义组件,就可以轻松地在任何...
标题"切换密码明文密文的自定义EditText"所指的是一个特定的UI控件,它允许用户在输入密码时自由地切换显示模式,即在明文(可见字符)和密文(隐藏字符,通常显示为星号或圆点)之间切换。这种功能提供了更好的用户...
然而,为了提供更加丰富的用户体验,开发者有时需要自定义EditText,实现特定的输入效果。本篇将详细讲解如何在Android中自定义EditText,实现分割输入内容的效果。 首先,理解这个效果:通常,EditText会连续显示...
这个自定义的EditText不仅提供文本输入功能,还允许用户通过点击一个小的删除图标来清除输入的内容。下面我们将详细介绍实现这一功能的过程。 首先,我们需要创建一个新的Java类,继承自EditText。在这个自定义类中...
本文将深入探讨如何创建一个简单的自定义EditText,这个自定义组件名为"CustomEditText",并讨论其在类似Instagram应用中的应用场景。这个开源项目可以从提供的压缩包"CustomEditText-master"中获取。 首先,我们从...
这个一个可随手指移动的自定义edittext,下载后直接放到你的项目里运行就可以了,记得要在xml文件里定义这个editext的id,width,height等属性。
5. 编写对应的XML布局文件,将`MNPasswordEditText`作为一个可复用的组件引入项目中。 在实际开发中,这样的自定义控件可以极大地提升应用的专业形象,并为用户提供独特的交互体验。如果你的项目也需要这样的功能,...
至此,我们已经成功地创建了一个具有密码明文切换和点击清空功能的自定义EditText。这个自定义控件可以轻松集成到你的Android应用中,提供更好的用户交互体验。记住,自定义组件的关键在于理解基本组件的工作原理,...
本文将深入探讨如何创建一个带有删除按钮的自定义EditText,并实现输入内容时按钮出现,输入框为空时按钮隐藏的功能,同时还会涉及旋转和透明度变化的动画效果。 首先,我们需要创建一个新的Java类,继承自EditText...
本篇文章将详细探讨如何创建一个自定义的带有下滑线的`EditText`。 首先,我们要理解`EditText`的基本结构。`EditText`继承自`TextView`,提供了文本输入和编辑的功能。在Android Studio中,我们通常通过XML布局...
总之,Android自定义EditText实现带清除功能的输入框是一个常见的需求,它可以通过组合基本的UI组件和监听事件来实现。通过对代码的深入理解和实践,开发者可以更好地掌握Android界面开发的技巧。
总结来说,这个自定义EditText组件结合了清除按钮、密码可见切换和动态效果,是提高Android应用输入体验的利器。开发者可以根据需求进一步定制,例如添加更多输入类型的支持,或者扩展更多交互功能,以满足不同应用...
通过深入理解这个项目的源代码,开发者不仅可以学习到如何自定义EditText,还能提高对Android UI组件的掌握程度,提升自己的编程技能。 总结来说,自定义牛逼的EditText特效输入框是一个优秀的Android开发资源,它...