自定义左边含有图片的EditText

自定义控件:左侧有文字,右侧有文字的EditText 自定义控件:左侧有文字,右侧有文字的EditText 控件功能详解: 左侧文字一般为固定内容,文字大小默认16sp 与输入内容的间距为设置的leftTextPadding ,默认为26dp(字体默认source_han_sans_cn_regular.otf") 右侧文字 一般显示单位等,(字体默认roboto_medium.ttf),文字大小默认14sp 没有输入内容时,右侧文字距光标0dp,... 阅读详情

自定义EditText,当文字输入改变图片

package com.android.drawableedittext;

import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class DrawableEditText extends RelativeLayout {

    private Context mContext;
    private EditText mEditText;
    private ImageView mImage;

    // 文本框不为空 图片资源
    private int imgRes;

    // 文本框为空 图片资源
    private int nullImgRes;

    public DrawableEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.mContext = context;
        init();

        // 得到图片资源
        imgRes = attrs.getAttributeResourceValue(null, "imgRes", 0);
        nullImgRes = attrs.getAttributeResourceValue(null, "nullImgRes", 0);
        if (nullImgRes != 0) {
            setDrawable();
        }

        // 设置文字大小
        int textSize = attrs.getAttributeResourceValue(null, "textSize", 0);
        if (textSize != 0) {
            mEditText.setTextSize(textSize);
        }

        // 设置edittext的hint提示
        int hint = attrs.getAttributeResourceValue(null, "hint", 0);
        if (hint != 0) {
            mEditText.setHint(hint);
        }

        // 设置文本颜色
        int textColor = attrs.getAttributeResourceValue(null, "textColor", 0);
        if (textColor != 0) {
            mEditText.setTextColor(textColor);
        }
    }

    // 初始化布局和控件
    public void init() {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        View view = inflater.inflate(R.layout.drawable_edittext, this);
        mEditText = (EditText) view.findViewById(R.id.edittext);
        mImage = (ImageView) view.findViewById(R.id.image);
    }

    // 根据文本框是否为空设置不同的图片
    private void setDrawable() {
        if (mEditText.getText().toString().equals("")) {
            mImage.setImageResource(nullImgRes);
        } else {
            mImage.setImageResource(imgRes);
        }
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        // 文本框的text改变监听
        mEditText.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                setDrawable();
            }
        });
    }

    /**
     * @description 输入框是否有文字
     * @return
     */
    public boolean isEmpty() {
        return getText() == null || getText().length() == 0 ? true : false;
    }

    /**
     * @description 获取输入框内的文字
     * @return
     */
    public String getText() {
        return mEditText.getText().toString();
    }

    /**
     * @description 设置输入框内的文字
     * @return
     */
    public void setText(String s) {
        mEditText.setText(s);
    }
}

EditText布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="46dp"
    android:background="@android:color/white" >

    <EditText
        android:id="@+id/edittext"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/bg_edittext"
        android:paddingLeft="50dp" />

    <RelativeLayout
        android:layout_width="46dp"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/image"
            android:layout_width="22dp"
            android:layout_height="30dp"
            android:layout_centerInParent="true"
            android:scaleType="centerInside" />
    </RelativeLayout>

</RelativeLayout>

运用的布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp" >

    <com.example.drawableedittext.DrawableEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        imgRes="@drawable/phonenumber_click"
        nullImgRes="@drawable/phonenumber" />

</RelativeLayout>
EditText添加图片 本代码为:http://blog.youkuaiyun.com/u011386687/article/details/42921125 自定义EditText添加图片 立即下载

相关推荐

安卓EditText输入框相关-D-左边图片的文本框当文字输入时改变图片模仿微博登录框.rar

D-左边图片的文本框,当文字输入时改变图片,模仿微博登录框.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

EditText左侧设置文字,右侧设置图片

自定义EditText实现左侧可以设置文字,右侧设置的图片可处理两个功能;1:清除当前输入框内容;2.隐藏或显示密码。可选择设置editText下方的下划线,默认有下划线 先看一下实现的效果 左侧文字的颜色、大小、左侧文字跟光标的间距都可以更改 1.在values包下创建attrs.xml文件 &lt;declare-styleable name="AutoEditTextView"...

furtureWithYou的博客 6564

Windows C语言编程:Beep API实现蜂鸣器原理与实战

如果你在 Windows 上写过 C 语言程序,想给程序加个简单的提示音,第一个想到的可能是 printf("\a") 。这个转义字符确实能在某些终端里发出“嘀”的一声,但它太原始、太不可控了,而且很多时候根本没声音。那么,有没有一种更“Windows”、更可控、更专业的方法来让你的程序“说话”呢? 答案是肯定的,而且它比你想象的要强大和复杂。Windows 提供了一个名为 Beep 的 API 函数,专门用于生成蜂鸣声。你可能觉得这功能太简单,甚至有点过时——不就是让电脑“哔”一声吗?但恰恰是这个看似简单

weixin_34109408的博客 395

EditText 在左边加入图片

代码如下:       Bitmap bitmap = mWebView.getFavicon();     Drawable drawable = new BitmapDrawable(bitmap);     // edit.setCompoundDrawables(drawable, null, null, null);     drawable = this.getResourc

2941

推荐系统在音乐领域的实践:网易云音乐推荐算法解析

你是否有过这样的经历?打开网易云音乐,“私人FM”里总能推到你想听的歌;“每日推荐”的歌单,往往藏着你没听过但一入耳就爱上的曲目。这些“懂你”的推荐背后,是一套复杂却精密的推荐系统在运转。问题陈述:音乐推荐的难点远超一般商品——音乐是高度主观的艺术,用户兴趣易随心情、场景变化;小众音乐的“长尾效应”显著,如何让冷门好歌被发现?传统协同过滤依赖历史行为,面对新用户/新歌曲的“冷启动”问题束手无策;而单纯的内容推荐又难以捕捉用户的隐性兴趣。核心方案:网易云音乐采用“混合推荐策略”——融合协同过滤(CF)

AI天才研究院 2087

BSW:MemMap模块配置及使用

(内存映射(MemMap)模块用于通过内存映射文件将代码和数据映射到特定的内存部分。MemMap生成特定的头文件,其中包含为MemorySection元素和编译器特定指令定义的内存映射预处理器。上面是比较官方的回答,说人话就是把数据和代码放在ECU内指定的地址。初级应用:软件中的bss,data,rodata,code,text,段需要在memory layout中划分具体的物理地址,对于多核系统,要将执行的数据和代码放在目标核的RAM和ROM。

Forever_Oct的博客 3677

android如何修改图标大小,android – 是否可以在EditText中更改图标的大小

我正在创建一个包含用户名和密码字段的登录窗口,每个我都想放置图标.当我向EditText字段添加图标时,我无法更改图标的大小.图标在EditText字段内,因为我想在聚焦时更改EditText背景.我试图将图标和EditText视图放在LinearLayout中,但是当EditText聚焦时我无法更改布局背景.My EditText code:android:id="@+id/user_name_...

weixin_39695490的博客 369

Python+OpenCV实战:雨天车牌识别准确率提升300%的5个关键技巧

本文针对雨天车牌识别准确率骤降的难题,分享了五个基于Python和OpenCV的实战技巧。通过暗通道先验去雾、雨纹抑制、光照不变量颜色空间转换、多尺度自适应阈值分割以及融合传统特征与轻量级深度学习的混合识别策略,系统性地提升了算法在恶劣天气下的鲁棒性。这些方法能有效解决图像模糊、对比度低、字符断裂粘连等问题,为智能交通等实际应用提供可靠解决方案。

k8l9m0n的博客 716

android中显示提示图标在edittext左侧,设置图标的大小,Android EditText搜索框实现图标居中...

类似这样EditText 搜索框,hiht 提示有一个icon并且text内容。重写EditText :package mobi.truekey.weapp2.widget;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import androi...

weixin_42504048的博客 939

KAN神经网络实战:如何用Python快速搭建你的第一个可解释性模型

本文提供了使用Python和PyTorch快速搭建首个KAN(Kolmogorov-Arnold Networks)神经网络模型的实战指南。通过对比传统MLP,详细解析了KAN利用可学习的边函数实现更高可解释性的核心原理,并逐步演示了从环境配置、数据准备、核心模块实现到模型训练与可视化的完整流程,帮助开发者掌握这一新兴的可解释性AI模型构建方法。

convnet3designer的博客 473

健康保险费用预测:可解释机器学习在精算建模中的实战落地

健康保险费用预测是医疗AI与保险科技交叉领域的核心任务,本质是基于临床变量与社会因素对个体医疗支出进行风险量化。其技术原理需兼顾统计建模能力与监管可解释性,XGBoost+SHAP组合因支持特征归因、边际效应分析和临床可干预推演,成为保险精算场景的主流选择。该技术显著提升保费定价精度、降低偿付风险,并支撑DRG费用预警、团险核保辅助及再保险尾部风险评估等关键应用。本文聚焦真实产线中的时间序列验证、临床分层特征工程与监管红线指标(如Bias@90th、Calibration Slope),深入解析如何让模型不

weixin_33702545的博客 306

Android 在edittext左边添加图片的简单方法

其中的核心代码就是drawableStart="@drawable/ic_idol"我以前一直以为需要在左边添加一个imageview呢啊哈哈哈哈。

280

【思考模型框架】前景理论(Prospect Theory),认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值

前景理论,是一种行为经济学理论。前景理论,描述了人们在不确定条件下如何作出决策。前景理论,认为人们并不是完全理性的决策者,而是根据一些心理上的偏差来评估选项的价值。

奶爸的编程之路,也就一周冷个三天 1642

edittext左边画图片

&lt;EditText     android:drawableLeft="@drawable/img" &lt;/EditText&gt;

朴勇佑的专栏 751

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(二)校园网接入层交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 1219

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

对EditText右边的图片进行监听

获取EditText的最右边的x2坐标减去最右边图片的x1坐标点,当点击所在x坐标在于这2个x之间的时候就执行监听事件 finalEditText editText=(EditText)findViewById(R.id.zsm); editText.setOnTouc...

chenghuo9876的博客 173

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android自定义 edittext,Android自定义控件EditText使用详解

本文实例为大家分享了Android自定义控件EditText的具体代码,供大家参考,具体内容如下自定义控件分三种:1. 自绘控件2. 组合控件3. 继承控件代码已上传到 github以后的自定义控件就都放这个仓库需求这里由于项目的需要实现一个自定义EditText,主要实现的为两点,一个是工具图标toolIcon,例如点击清除EditText内容。一个为EditText左边的提示图标hintIco...

weixin_36383576的博客 834

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

android之自定义带清除内容的EditText

android之自定义带清楚内容的EditText      android在很多地方需要用输入框EditText,输入的内容可以完全清除,这样做的好处,是在有的地方用户体验更好,比如用户在注册登录的输入框,可以在EditText右侧加上一个按钮,点击清除用户名等;一般传统做法是在布局里面加按钮,这样感觉做法不是很好,网上研究了下,然后自己总结了一个demo分享下。有问题可以提出,欢迎讨

小白james 5160

android 图片文字布局,Android 中EditText中加入固定的图片或许文字布局

Android 中EditText中加入固定的图片或者文字布局android:background="@drawable/login_back" android:paddingTop="21.0px"android:paddingBottom="10.0px" android:layout_width="fill_parent"android:layout_height="wrap_content...

weixin_34676828的博客 420

android EditText 添加图片表情以及在四个方向上绘制图片

第一步:创建SmiliesEditText类继承EditText如下:   import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.text.Spannable; import android.tex...

xiao12593a的专栏 255

android 在EditText内嵌入图片资源

最近在作一个Android的搜索框,类似于 用到了EditText,但是如何在EditText中嵌入一个提示性的图片呢? 查看了SDK文档,在EditText中没有找到相关属性,最终在TextView中找到了android:drawableLeft这个属性, 官方的解释是:The drawable to be drawn to the left of the text. 而EditTe

海纳百川,壁立千仞 4565

给EditText左右两边设置图片与监听(drawableLeft/drawableRight)/弹出键盘

设置图片: Drawable phoneDrawableLeft = getResources().getDrawable(R.mipmap.phone_login, null); phoneDrawableLeft.setBounds(0, 0, drawableDimension, drawableDimension); Drawable phoneDrawableR

ZionLife的博客 1875

使用ImageView 加上 Edittext做出自定义的输入框(EditText美化)

使用过Android不同版本,或者不同的Android的rom的同学应该都知道,Android的EditText的样式在不同它们上的显示是各式各样; 那我们能不能通过什么途径来让它们的样子统一起来呢?答案是肯定的... 这是我做的一个登录界面,虽然还有些粗糙,但是实现了输入框样式的统一; 我的实现思路是这样的(可能大家会有不同的方案,欢迎分享),首先定义一个RelativeLayout,

金禅的专栏 4774

android里的editText怎么用,Android自定义控件EditText使用详解

本文实例为大家分享了Android自定义控件EditText的具体代码,供大家参考,具体内容如下自定义控件分三种:1. 自绘控件2. 组合控件3. 继承控件代码已上传到 github以后的自定义控件就都放这个仓库需求这里由于项目的需要实现一个自定义EditText,主要实现的为两点,一个是工具图标toolIcon,例如点击清除EditText内容。一个为EditText左边的提示图标hintIco...

weixin_33771582的博客 670
上一篇: 仿Android 5.0按钮点击效果
下一篇: 自定义带有删除功能的EditText
搬砖小先生
博客等级 码龄11年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值