android 设置文字周围图片显示

Android自定义组件,实现图片和文字同时显示 有时候我们需要自定义组件 阅读详情

一个搜索框 ,在框里面左边是一个搜索图标,后面是一个输入框( EditText )输入文字的时候左边的搜索图标要一直存在。

之前的做法是让美工切一个包含搜索图标的背景透明的图片,然后布局的时候外层一个LinearLayout,将该图片作为LinearLayout的背景图片,然后LinearLayout的里面放一个EditText并设置marginleft 使光标正好在搜索图标的右边。这种做法实在是太麻烦了。要考虑适配屏幕,还要一个一个像素的试,看看多少像素合适。

今天才知道android提供了动态设置空间四周的图片显示的功能。

像上面这种效果,

首先需要切一个搜索图标,和一张透明带边框的输入背景图片;

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		edit = (EditText) this.findViewById(R.id.edit);

		Drawable d = getResources().getDrawable(R.drawable.abs__ic_search);

		d.setBounds(0, 0, d.getMinimumWidth(), d.getMinimumHeight());

		edit.setCompoundDrawables(d, null, null, null);
	}

下面分代码形式和XML形式 实现:

代码形式:

布局文件代码

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/input_background" >

        <EditText
            android:id="@+id/edit"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="请输入..." />
    </LinearLayout>

代码如下:

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		edit = (EditText) this.findViewById(R.id.edit);

		Drawable d = getResources().getDrawable(R.drawable.abs__ic_search);

		d.setBounds(0, 0, d.getMinimumWidth(), d.getMinimumHeight());
		//设置EditText中文字左边的显示图标,上面 、右边 、下面 没有则置空null
		edit.setCompoundDrawables(d, null, null, null);
	}

XML布局形式:


布局文件代码:

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/input_background" >

        <EditText
            android:id="@+id/edit"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@null"
            android:drawableLeft="@drawable/abs__ic_search"
            android:hint="请输入..." />
    </LinearLayout>

android:drawableLeft 就是设置文字左边显示的图标。

代码里面只需要引入这个布局就OK了。




Android textview 文字中间加上图片 立即下载

相关推荐

VS Code配置Java开发环境避坑指南:从JDK到Spring Boot插件全流程

本文详细介绍了在VS Code中配置Java开发环境的完整流程,涵盖JDK选择、环境变量配置、核心插件安装、构建工具优化及Spring Boot项目专项设置。特别针对常见问题提供避坑方案,帮助开发者快速搭建高效稳定的开发环境,提升Java和Spring Boot开发效率。

weixin_28839699的博客 982

android实现字体靠右,Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)...

一、需求:标题可能写的不够全部,下面来看下图片,大家就明白是什么意思了。视频与票的图标跟在标题后面显示,当标题过长时icon显示到省略号…后(textview省略号显示,图标自动靠后)。二、问题解决TextView可以通过 android:ellipsize="end" android:singleLine="true"实现单行省略,但是当我们要是图标跟着文字后面,第一时间想到用LinearLay...

weixin_42513546的博客 1304

UE4 - 河流流体插件Fluid Flux

Fluid Flux可以模拟一定区域内的流体效果,由于使用顶视图所Capture的Heightfield信息,所以只支持室外开阔场景,不支持洞穴等室内场景;

GT的虚幻引擎文档 6671

Android中添加左边的图标,Android控件View的文字周围添加图标

在Android控件View的文字周围添加图标,供大家参考,具体内容如下在控件TextView文字周围放置图片(基于TextView的Button也能实现),减少多布局组合嵌套。优点:使用LinearLayout对ImageView和TextView组合布局固然可行, 但是布局文件会冗长许多。以TextView为例:在XML布局文件中设置以下5个属性:drawableTop: 指定文本上方的图形。...

weixin_42565652的博客 1994

【生成C01/C10材料常数excel表】

计算橡胶件的邵尔硬度和C01/C10材料常数

weixin_46153372的博客 1935

一种导弹追踪算法的MATLAB仿真实现

以下是一个用于模拟机动变轨导弹和防空导弹追踪过程的 MATLAB 代码,同时会提供 3D 效果展示。你可以运行这段代码,从而观察机动变轨导弹和防空导弹的速度与位置变化。

SmartGridequation的博客 935

安卓自定义View实现文字环绕图片

这是我的第一篇博客,我也是安卓开发之路上的一个小菜鸟,写博客主要是为了记录自己曾经遇到的一些问题,回头看的时候能够找到,不至于每次开发每次现找现想现做,当然了我的记录能够帮助大家那更好了。第一篇博客,有不足之处,敬请谅解。        最近项目需求,修改公共号纯文本推送样式,把文字前方加上一个公共号图标,搞了一天半,终于搞定了。虽然最后领导说不用这个样式了!!!我还是想把过程中遇到的坑记录下来

ludi的博客 2847

android UI控件属性 在文字周围添加上图片

&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_pare

weixin_41069726的博客 589

基于深度学习YOLOv8的花卉检测与识别系统(附完整资源+PySide6界面+训练代码)

通过本项目,我们成功实现了基于YOLOv8的花卉检测与识别系统,涵盖了数据预处理、模型训练、推理与实时检测、以及GUI界面的实现。YOLOv8在花卉检测中的高效性和准确性为实际应用提供了强有力的支持。

斌擎科技 716

HDMI接口及其在编程中的应用

在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文将介绍HDMI接口的基本原理以及如何在编程中使用HDMI接口。在编程中,我们可以使用HDMI接口来控制和管理连接到计算机的HDMI设备。本文介绍了HDMI接口的基本原理,并提供了使用Python编程语言和相关库实现HDMI接口应用的示例代码。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。我们可以使用编程语言提供的音频库来生成和播放音频,并将其通过HDMI接口输出到连接的设备上。

CodeByte的博客 803

android动态设置文本居中显示图片,Android DrawableTextView图片文字居中显示实例

Android DrawableTextView图片文字居中显示实例发布时间:2020-09-22 05:46:00来源:脚本之家阅读:277作者:xing-java在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决呢?小编的方案是通过自定义TextView实现。实现的效果图:注:第一...

weixin_30070663的博客 472

Unity 之jenkins自动打包

1.Jenkins 是什么? jenkins官方网址:https://www.jenkins.io/zh/ Jenkins是一款开源 CI&CD(持续集成&持续部署) 软件,用于自动化各种任务,包括构建、测试和部署软件。 简易安装:Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 插件扩展:通过更新中心中的

TxNet 2133

android 背景图片居中显示文字,Android ImageSpan 给文字设置圆角背景 并且文字居中,背景居中。...

public class RadiusBackgroundSpan extends ReplacementSpan {private int mColor;private int mTvColor;private int mTvSize;/*** @param color 背景颜色* @param tvColor 需要改变文字颜色吗* @param tvSize 需要改变文字大小吗*/pub...

weixin_33701632的博客 437

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【TabHost】Android设置TabHost文字及图片

Android TabHost 文字及图片的设置   TabWidget tabWidget=myTabhost.getTabWidget();//设置字体颜色         for(int i=0;i                     //设置显示文字             TextView tv=(TextView)tabWidget.getChildAt(i).findV

天。朝程序猿的专栏 2457

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android的ImageButton不能显示文字

很多人对 Android提供的ImageButton有个疑问,当显示Drawable图片时就不会再显示文字了,其实解决的方法有三种: 第一种:就是图片中就写入文字,但是这样解决会增加程序体积,同时硬编码方式会影响多国语言的发布。 第二种:解决方法很简单,通过分析可以看到ImageButton的 layout,我们可以直接直接继承,添加一个TextView,对齐方式为右侧即可实现Imag

zsb190623的专栏 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android textview设置html中图片显示问题

显示本地mipmap/drawable文件下图片: string info = "&lt;img src=\"img_talk_peaple_only\"/&gt;"; text.setText(Html.fromHtml(info, new Html.ImageGetter() { @Override public Drawable getDr...

白龙的博客 2358

Android TabHost 文字及图片的设置

Android TabHost 文字及图片的设置   TabWidget tabWidget=myTabhost.getTabWidget();//设置字体颜色         for(int i=0;i                     //设置显示文字             TextView tv=(TextView)tabWidget.getChildAt(i).findV

u010482217的专栏 903

android 文字转化为图片格式,Android 文字生成图片

一直在看别人写的文章,而自己却不敢执笔来写,一是怕写得不好,二是平时也不太有写文章的习惯,所以总感觉看别人写就好啦,但是最近工作遇到点问题,本以为很简单的,但是奈何解决起来还是比较麻烦的把Android中的文字转换为图片,并与现有的图片合并打印 /**因为我是做POS机,所以有打印这一项*/刚开始接到这个任务的时候,真的是比较紧张,自己是新人,怕做不好,所以在网上也找了不少资源来看,但是效果...

weixin_39816141的博客 1205

android textview设置图片大小,修改Textview内图片文字间距和图片大小

1-1 布局对于上面的这种布局,我们一般采用的一个ViewGroup嵌入一个ImageView和一个TextView。如下所示:android:id="@+id/layout_question"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingLeft="12dp"androi...

weixin_28717647的博客 2760

Android 中TextView的DrawableLeft与DrawableRight与文字一起居中显示

在开发中,我们有时候会彭代需要让文字和图片一起居中显示的效果,但是设置两个View显然是没必要的,textView就可以实现这个功能,那么怎么让textView的图片紧贴着文字居中显示呢,废话不多说,直接上代码: package tv.buka.view; import android.content.Context; import android.graphics.Canvas; imp

zjt593688的博客 8576

[Android]Android 布局中如何让图片和文字居中显示?

图片文字居中显示 **①组件TextView的属性 drawableTop ``` <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marg...

weixin_30698297的博客 4298

databinding设置文字和图片

databinding设置文字和图片开启databinding修改布局自定义类 用来设置文字和图片布局设置文字和图片activity 开启databinding 在build.gradle文件里添加 dataBinding { enabled = true } 导入picasso包用来加载图片 implementation 'com.squareup.picasso:pi...

我是三金呐 2109

drawableTop,button图片显示在文字上面,文字不显示的问题

一般来讲,button的文字与图片的设置,可以一步完成,使用到drawableTop <Button android:id="@+id/btn_message" android:layout_width="match_parent" android:layout_height="match_pa

Batman_Encoding的博客 2041

几个简单的安卓控件的使用

记录一下安卓这段时间用到控件的简单操作! 控件的显示隐藏 控件名 隐藏 显示 默认 TextView setVisibility(View.INVISIBLE) setVisibility(View.VISIBLE) 显示 ImageView setVisibility(View.INVISIBLE) setVisibility(View.VISIBLE) 显示 Linea...

Mr_Van的博客 448
上一篇: android应用添加快捷方式
下一篇: eclipse导入Apidemo项目
dalancon
博客等级 码龄15年 189粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值