首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在android编程中,如何将EditText中的特殊字转换为特殊颜色?

在Android编程中,可以通过使用SpannableString和ForegroundColorSpan来将EditText中的特殊字转换为特殊颜色。

首先,需要获取EditText中的文本内容,并将其转换为SpannableString对象:

代码语言:java
复制
EditText editText = findViewById(R.id.editText);
String text = editText.getText().toString();
SpannableString spannableString = new SpannableString(text);

接下来,可以使用正则表达式或其他方式找到需要转换颜色的特殊字,并为其创建一个ForegroundColorSpan对象,设置特殊的颜色:

代码语言:java
复制
Pattern pattern = Pattern.compile("特殊字");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
    int start = matcher.start();
    int end = matcher.end();
    ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED);
    spannableString.setSpan(colorSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}

最后,将处理后的SpannableString对象设置回EditText中:

代码语言:java
复制
editText.setText(spannableString);
editText.setSelection(text.length()); // 保持光标在文本末尾

这样,EditText中的特殊字就会以特殊的颜色显示出来。

在腾讯云的产品中,可以使用腾讯云移动直播(https://cloud.tencent.com/product/mlvb)来实现音视频直播功能,腾讯云云服务器(https://cloud.tencent.com/product/cvm)来进行服务器运维,腾讯云云数据库 MySQL 版(https://cloud.tencent.com/product/cdb_mysql)来进行数据库存储,腾讯云人工智能(https://cloud.tencent.com/product/ai)来进行人工智能相关的处理,腾讯云物联网开发平台(https://cloud.tencent.com/product/iotexplorer)来进行物联网开发等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android软键盘输入处理技巧

今天我们来讨论一下Android监听软键盘输入使用方式。它允许用户输入文本和执行其他操作。但是,有时候我们需要在用户输入文本时进行一些特殊处理,比如实时验证输入内容、限制输入字符类型等。...因此,了解如何监听软键盘输入是非常重要。 如何监听软键盘输入 Android,我们可以使用EditTextTextWatcher接口来监听软键盘输入。...InputConnection Android开发,InputConnection是一个用于与软键盘交互接口。... commitText 方法,我们控制台上记录用户输入文本,然后调用 super.commitText 以继续文本正常处理。...下面是如何将 MyInputConnection 与 EditText 控件关联示例: import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection

28610

AndroidSpannableString与SpannableStringBuilder详解

String差不多,也是用来存储字符串,但它们俩特殊就在于有一个SetSpan()函数,能给这些存储String添加各种格式或者称样式(Span),将原来String以不同样式显示出来,比如在原来...(自博客:《android – SpannableString或SpannableStringBuilder以及string.xml文件整型和string型代替》) 因为Spannable等最终都实现了...EditText控件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=...(2)、这里用一个改变字体颜色Span来做下演示 public class MainActivity extends Activity { private EditText editText...这个函数不同之处在于,前几都是原来文字基础上加上特效,而这里却是利用图片将文字替换。如果遇到不支持显示图片函数,比如前一篇canvas绘图。

1.7K20

Android开发笔记(三十六)展示类控件

如果填充图片显然不够经济,最简单做法,就是xml布局增加一个View控件,高度或宽度设置为1dp,背景颜色设置为线条颜色,这样便实现了单独显示线条需求。...(一般只需设置前三个属性,后面三个属性用得很少),下面只列出几个特殊场景实际运用: 1、聊天室或者文字直播间效果。...setHintTextColor : 设置提示文本颜色录入用户信息时(比如输入姓名、密码等等),EditText输入回车键,常常不要换行而是让光标直接跳到下一个编辑框。...该功能有两种实现方式: 方式一:布局文件EditText节点中加入singleLine属性,但该方式只视觉上起作用,真正字符串还是带有回车换行符; android:singleLine="true...EditText还有一个需要特殊处理地方,就是自动关闭软键盘。一般我们希望点击其它控件时,原输入框软键盘就要自动消失,可惜Android不是这样处理。

1.4K30

TextInputLayout-Android M新控件

写这边博客时候,support已经更新到23.2.0了,不过还是用我个人常用23.1.1吧。虽然这个控件是22.2.0推出,记得所有的Support library版本保持一致。...它显示了一个“登录”文字与两个EditText元素,一个是为用户名准备,一个是为密码准备。布局还包含了一个触发登陆流程按钮。背景颜色是扁平风格灰色。...一个单一EditText 输入文字时候会隐藏hint,而被包含在TextInputLayoutEditText则会让hint变成一个EditText上方浮动标签。...每一个控件颜色都是直接通过主题颜色绘制 style.xml 中指定。打开它添加colorAccent 到主题以改变表单颜色。...设计范例,控件实现需要让用户输入过程不会丢失上下文信息,它是去年跟Material Design一起被谷歌介绍。在这之前,没有让开发者将这个控件应用到实际项目中支持库。

73620

Android使用TextInputLayout创建登陆页面

实现 TextInputLayout 第一步: 创建一个新项目 Android Studio 选择New New project 。填入所需信息然后创建项目。...它显示了一个“欢迎”文字(可以很容易替换成logo什么)与两个EditText元素,一个是为用户名准备,一个是为密码准备。布局还包含了一个触发登陆流程按钮。背景颜色是扁平风格灰色。...一个单一EditText 输入文字时候会隐藏hint,而被包含在TextInputLayoutEditText则会让hint变成一个EditText上方浮动标签。...谷歌把Design Support Library写很好。每一个控件颜色都是直接通过主题颜色绘制 style.xml 中指定。打开它添加colorAccent 到主题以改变表单颜色。...设计范例,控件实现需要让用户输入过程不会丢失上下文信息,它是去年跟Material Design一起被谷歌介绍。在这之前,没有让开发者将这个控件应用到实际项目中支持库。

1.6K10

Android EditText使用详解-包含很多教程上看不到功能演示

EditText是TextView子类,所以TextView方法和特性同样存在于EditText,具体TextView介绍可以参考上一节Android TextView小组件使用–附带超链接和跑马灯效果...EditText为我们提供了android:hint来设置当EditText内容为空时显示文本,这个文本只EditText为空时显示,你输入字符时候就消失了,不影响你EditText文本。。...Android没有专门文本域组件,但是可以通过设置EditText高来实现同样文本域功能。修改main.xml如下: <?...四:输入特殊格式字符 我们开发程序时候不免会输入一些特属个数字符,比如密码(输入框字符要加密显示),电话号码(比如数字和-),数字等,这些都算是一些特属格式字符,强大EditText同样为我们提供了输入这些特属格式字符设置...比如,一个搜索,我们输入要搜索文本,然后按Enter表示要去搜索了,但是默认Enter键显示是“完成”文本,看着不太合适,不符合搜索语义,如果能显示“搜索”两个字或者显示一个表示搜索图标多好

3.7K20

Android利用EditText如何实现搜索框详解

EditText简介: ED(EditText简称)开发也是经常使用到一个控件, 也是一个比较重要组件,可以说它是用户跟应用进行数据传输窗口,比如实现一个登陆界面, 需要用户输入账号和密码...文本框字体颜色大小等: "android:id/search_src_text" 不要问我怎么知道,searchview源码里写呀。...需要注意是,修改文本框颜色和大小时候,需要将view cast to textview或者edittext,源码配置文件里面这个框就是一个view,强一下即可。...EditText实现SearchView功能 前面searchview里面,如果要将键盘换行改成搜索,是要修改imeOptions属性即可,而Edittext属性里其实是有这个,所以edittext...布局添加imeOptions = “actionSearch” ,但是只添加这个属性是无法实现

2K20

EditText 集锦 - 开发中常用用法及遇到各种坑

前言 EditText ,文本输入框,一个再熟悉不过控件,开发当中,我们需要经常用到。这边文章,主要是记录 EditText 常用用法,需要时候可以直接复制张贴,提高效率。...(居左显示),viewEnd(居右显示),textStart(居左显示),textEnd(居右显示).这里需要注意是最低支持API版本是17,前两个可以API14使用,而后面使用就会报红线… android...@null"设置背景为透明.当我们设置背景后,EditText那条线就会消失. android:textAppearance //设置文本颜色,字体,大小和样式. android:digits //..., 0); } 取消 EditText 默认获取焦点行为 EditText父级控件找一个,添加这两个属性: android:focusable="true" android:focusableInTouchMode...监听 EditText 输入状态 像新浪微博一样,提醒还可以输入多少 限制最多可以输入多少 这些都可以通过监听 EditText TextChangedListener 实现 mInputEditTxt.addTextChangedListener

2.2K20

安卓 View 和常见控件

ListView 是为显示较多项列表而优化特殊控件。它能非常高效地创建、回收和显示视图,而且经过优化,能非常顺畅地滚动。...自定义 listview item 布局时候, 通常加上最小高度属性, 防止高度过小导致用户点击不到。 android:minHeight="?...getText 不为null, 然后得到是空字符串 "", 然后长度为0 EditText 主题一般会自带背景,如果需要去掉的话, android:background="@null" Android...读取 xml 读取尺寸单位三个方法 工作上碰到需要从 xml 读取尺寸问题。.... androidgetWidth()和getMeasuredWidth()之间区别 getMeasuredWidth()获取是 view 原始大小,也就是这个 view XML文件配置或者是代码设置大小

92610

高仿Android「填空题」控件:手撸一个炫酷View动效!

Android系统,我们最常使用用于展示文字和编辑文字控件,就是TextView和EditView,这两个控件基本上已经能够满足我们日常大部分开发需求。 但是,凡事都有个但是。...程序猿基本都会遇到一些比较特殊需求,而作为一个Android开发者,最常见特殊需求,就是一个特殊控件,而这个控件刚好是系统没有提供。 下面就是一个比较特别的控件,一个可填空控件。...这里就涉及到一个文字宽度计算问题 Android如何计算文字宽度呢?...而在绘制文字过程,我们可以将可编辑文字段坐标信息记录下来,那么点击时候,就可以判断有没有触摸碰撞,如果有,那么就可以弹出输入法。...说明:这里index,指的是文字可编辑字段位置,也就是光标的位置 光标起始位置y坐标,就是被触摸可编辑字段y坐标。

1.6K30

Android EditText实现扁平化登录界面

先来看看登录界面写完效果图 ? 2 监听editText,可以一键清空 ? 3 checkBox颜色统一 ? 代码 下面,说说如何实现这个界面的,我将代码全部贴出来。...几个重点问题 从图中可以看出整个布局是从上到下分布,那我们就按这样顺讯来分析 1.如何一张图片圆形化展示出来 2.整体输入框布局(输入框竖线实现) 3.监听edittext是否有输入...4.将checkbox颜色与界面统一 1.如何将一张图片圆形化展示出来 我是用是一个开源项目CircleImageView,它可以用来轻松实现图片圆形化 首先在build.gradle...editText时候要想十分简洁,需要将背景设置为”@null”,自己去写一个”shape” <shape xmlns:android="http://schemas.android.com/apk...程序调用代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView

56110

笔记32 | UI系列之EditText和AutoCompleteTextView

-- ---- 1.EditText 简单来说说EditText这个控件,这个就相当于我们平常web开发文本输入框,我们如果要使用EditText,可以布局文件声明一个这个元素即可,下面就是一个简单...这个方法会给我们一个错误小图标以及弹出一段错误提示信息,当我们这个EditText控件获得焦点时候,当我们文本框输入了任何值后,这个icon和message都会消失,例如: ?...extends EditText 我们通常都是自己定义了一组数据集合,可以是array,可以是list,还可以是网络传过来数据,这组数据是以下拉菜单方式根据我们输入关键来匹配我们数据集合满足条件数据项...,通过下拉菜单,我们可以enter来选中我们需要数据,而为AutoCompleteTextView这个控件提供内容就是我们 Adapter ,这个叫做适配器,Adapter这个类作用就是我们...为我们提供了许多Adapter,这是因为我们数据可能来自不同途径,而且对于一些特殊控件,例如Spinner,我们也要有指定SpinnerAdapter才行,接下来我们就通过一个例子来实现我们

43950

android之风格与主题(style与theme)

自:http://www.cnblogs.com/fwycmengsoft/archive/2011/12/16/2290414.html Android xml风格和主题文件编写,是涉及到整个程序界面美观因素之一...不同是通过Android Manifest定义和元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独View里。...@符号表明了我们应用资源是前边定义过(或者在前一个项目中或者Android 框架)。问号?表明了我们引用资源值在当前主题当中定义过。...通过引用在里边定义名字可以做到(panelTextColor 用颜色和panelForegroundColor定义一样 )。...我们可以修改在Theme.Dialog定义每个item元素值,然后我们Android Manifest 文件中使用CustomDialogTheme 而不是 Theme.Dialog 。

18230

Android开发之文本内容自动朗读功能实现方法

这种自动朗读支持英文名称为TextToSpeech,简称TTS。 借助于TTS支持,可以应用程序动态地增加音频输出,从而改善用户体验。...当程序用完了TextToSpeech对象之后,可以ActivityOnDestroy()方法调用它shutdown()来关闭TextToSpeech、释放它所占用资源。...界面,当用户点击“朗读”按钮后,系统将会调用TTSspeak()方法来朗读文本框内容;当用户单击“记录声音”按钮后,系统会调用synthesizeToFile()方法把文本框文本对应朗读音频记录到...SD卡声音文件——单击该按钮后将可以SD卡根目录下生成一个sound.wav文件,该文件可以被导出,在其他音频播放软件播放。...编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》 希望本文所述对大家Android

2.1K20

微博文本编辑和显示(emoji表情,@某人、链接高亮点击)

右下角那个 一般表情选择框,最后面都会有一个返回按键,这个返回图片资源这里给它取了一个特殊名字delete_expression,每一页最后一个加上它,同时对于这个按键点击做特殊处理:...这里我们对文本进行二次处理,先是清除了文本原本样式变为处,然后根据是否要点击或者特殊显示处理,替换成我们自己样式,我们可以继承URLSpan,实现一个我们自己LinkSpan ,这样就可以实现点击效果和别的颜色了...()); return spannableString; } EditTextAtUtils 处理@某人逻辑 这里需要实现在编辑文本框需要实现@某人显示,类似微博Android...2)、光标不能落入到@块,防止@块又插入多一次。 3)、删除时候对应删除list里面的id和name。...2、同样是文本框监听如果输入文本是增加,而且@符号,那么就通知跳转到用户选择页面。

2.1K20
领券