自定义左边含有图片的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

华为Atlas 300I推理卡驱动安装全攻略:从环境检查到常见问题解决

本文提供了华为Atlas 300I推理卡驱动安装的完整实战指南。从安装前的系统环境检查、内核版本匹配,到详细的二进制.run文件安装步骤、源码编译及高级定制化部署,涵盖了驱动安装的全流程。文章重点解析了安装过程中的关键决策、常见问题排查与解决方案,并针对生产环境的多卡配置、性能调优及安全加固给出了专业建议,旨在帮助用户高效、稳定地完成AI推理加速卡的部署。

swift5iosmith的博客 628

EditText 在左边加入图片

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

2941

【GAN实战】基于pytorch-CycleGAN与pix2pix的自定义数据集训练全攻略

本文详细解析了基于PyTorch的CycleGAN与pix2pix模型在自定义数据集上的完整训练流程。核心在于根据数据是否成对来正确选择模型:pix2pix适用于严格配对的“孪生”数据,而CycleGAN则擅长处理非配对的“散装”数据集。文章从数据准备、配置训练到测试应用,提供了全链路实战指南与关键参数调优心得,帮助开发者高效实现图像到图像的风格转换。

x2y3z4a5b的博客 704

华为OD机试 - 末世分配资源包 - 二分查找 + 贪心(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。末世时代,政府为各地方配资源,现有资源分配表 nums[n],要求按如下规则分配给 k 个营地:在最优平均分配情况下,得到最大团队所获得的资源数4,3,6,9,7 216最佳划分之一:[4,3,6] -> 13 [9,7] -> 16最大

学Java,找哪吒 224

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

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

weixin_39695490的博客 369

【yolo】YOLOv8模型导出完全指南:从PT到ONNX及其他格式的完整实践

摘要:本文全面介绍了YOLOv8模型从PT格式导出为ONNX等部署格式的完整流程与最佳实践。重点解析了关键参数(如format、imgsz、simplify)的作用机制,特别强调输入尺寸imgsz会自动继承训练尺寸的特性,并提供了ONNX、TensorRT等格式的典型导出配置方案。文章还总结了常见问题解决办法,推荐使用simplify优化模型性能,同时分享了通过C#实现模型重命名的实用技巧。最后指出"训练决定能力,导出定义接口"的核心原则,帮助开发者高效完成模型部署转换。

songhuangong123的博客 1917

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

部署与可视化系统:移动端落地保姆级教程:YOLOv8 转换为 NCNN 并封装进 Android App 调用摄像头实时检测

本文介绍了在移动端部署YOLOv8模型的最佳实践。通过实测数据对比,采用NCNN框架在骁龙865设备上可实现35+FPS的实时推理性能。文章详细分析了NCNN相比TFLite、MNN等框架的优势,包括更高的ARM CPU性能、更优的Vulkan GPU加速和更小的模型体积。同时提供了从PyTorch模型到NCNN格式的完整转换流程,包括FP16优化和INT8量化方法,并重点解析了YOLOv8特有的输出格式处理要点。建议开发者先在Python环境验证NCNN推理流程,再部署到Android平台,以确保最佳性能

ZXSXJ的博客 209

通俗易懂的Harris 角点检测

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达Harris 角点检测 认为特征点具有局部差异性。如何描述“特征点具有局部差异性”:以每一个点为中心,取一个窗口,窗口大小为5*5...

3D视觉工坊 1473

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

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

280

【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)

生成扩散模型DDPM如下图所示分为前向、逆向两个过程,它首先通过不断往原始清晰数据中添加噪声使其变成标准高斯噪声(前向过程),而后期望从标准高斯噪声中还原原始数据(逆向过程)。若能实现,那便可从已知的标准高斯分布中采样一个噪声数据,而后利用DDPM模型生成符合原始数据分布的新数据。 Diffusion模型包含两个过程:数学符号:y∝xy\propto xy∝x:y正比于x,即y随着x增大而线性增大。 条件概率:贝叶斯公式:p(A∣B)=p(B∣A)×p(A)p(B)p(A|B)=\frac{p(B|A)\

小哲的博客 1511

edittext左边画图片

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

朴勇佑的专栏 751

safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer解决方案

本文主要介绍了safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 Windows 2.2 Linux

weixin_43178406的博客 15万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

对EditText右边的图片进行监听

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

chenghuo9876的博客 173

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

weixin_36383576的博客 834

蓝牙模块HM-10手册

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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、付费专栏及课程。

余额充值