Justin..

10

我知道这是一个迟到的答案,但我提出了一个非常好的解决方案......我从Anthony Forloney那里得到了答案,用于在代码中标注文本,并创建了一个TextView的子类来处理这个问题.然后,只要您想要带下划线的TextView,就可以使用XML中的子类.

这是我创建的类:

import android.content.Context;

import android.text.Editable;

import android.text.SpannableString;

import android.text.TextWatcher;

import android.text.style.UnderlineSpan;

import android.util.AttributeSet;

import android.widget.TextView;

/**

* Created with IntelliJ IDEA.

* User: Justin

* Date: 9/11/13

* Time: 1:10 AM

*/

public class UnderlineTextView extends TextView

{

private boolean m_modifyingText = false;

public UnderlineTextView(Context context)

{

super(context);

init();

}

public UnderlineTextView(Context context, AttributeSet attrs)

{

super(context, attrs);

init();

}

public UnderlineTextView(Context context, AttributeSet attrs, int defStyle)

{

super(context, attrs, defStyle);

init();

}

private void init()

{

addTextChangedListener(new TextWatcher()

{

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after)

{

//Do nothing here... we don't care

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count)

{

//Do nothing here... we don't care

}

@Override

public void afterTextChanged(Editable s)

{

if (m_modifyingText)

return;

underlineText();

}

});

underlineText();

}

private void underlineText()

{

if (m_modifyingText)

return;

m_modifyingText = true;

SpannableString content = new SpannableString(getText());

content.setSpan(new UnderlineSpan(), 0, content.length(), 0);

setText(content);

m_modifyingText = false;

}

}

现在......只要您想在XML中创建带下划线的文本视图,就可以执行以下操作:

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:gravity="center"

android:text="This text is underlined"

android:textColor="@color/blue_light"

android:textSize="12sp"

android:textStyle="italic"/>

我在此XML代码段中添加了其他选项,以显示我的示例适用于更改文本颜色,大小和样式...

希望这可以帮助!

虽然这个例子有效,但我很快意识到,如果你想要在XML中有额外的控制权,那就不行了......我已经切换到一个更好的解决方案,涉及以下步骤:1)子类textview 2)添加支持通过自定义属性为文本加下划线,以执行上面指定的下划线.唯一的区别是,如果设置了自定义属性,则只执行下划线代码. (2认同)

android布局下划线设置,我可以在Android布局中为文本加下划线吗?相关推荐

  1. html语言添加下划线,HTML页面中怎么文本添加下划线?

    怎么在HTML页面中给文本添加下划线?下面本篇文章就来给大家介绍一下HTML.CSS给文本添加下划线的方法,希望对大家有所帮助. HTML添加下划线 在HTML中可以使用标签定义下划线文本,即为文本添 ...

  2. 文本上划线_如何在Word中对文本进行上划线

    文本上划线 Underlining is a common task in Word, and easily done, but what if you need to overline (also ...

  3. android震动服务能设置时长么,Android实现手机振动设置的方法

    本文实例讲述了Android实现手机振动设置的方法.分享给大家供大家参考.具体如下: main.xml布局文件: android:orientation="vertical" an ...

  4. python 给文本加下划线_untiy3dUGUI实现text文本下划线

    using UnityEngine;using UnityEngine.UI;/// /// 链接下划线的制作/// public class UnderLine : MonoBehaviour{ / ...

  5. HTML_给文本加下划线

    html中要给文本内容加下划线,使用<u></u>标签 <u>划重点</u> 实例:在一些政府项目中,会需要生成许许多多的公告模板,其中时间,金额,注意 ...

  6. easyui下拉框option写死_JavaScript_jQuery+easyui中的combobox实现下拉框特效,1.第一种写法:Input框中显示: - phpStudy...

    jQuery+easyui中的combobox实现下拉框特效 1.第一种写法:Input框中显示: 2. 第二种用法,在list列表中显示: 类别 3. 第二种的另一种写法: 类别 以上3种方法均可实 ...

  7. android手机 存储路径设置在哪里找,Android 存储路径选择方法

    Android能用来存储的地方有两个,一个是手机内置的存储空间,一个是外置的SD卡,内置的存储空间一般比较小,所以应用的缓存建议存储在外置的SD卡中. 在Android系统中如何获得存储的路径呢? p ...

  8. html设置多列布局间隙,css设置多列等高布局的方法示例

    1.真实等高布局 flex技术点:弹性盒子布局flex,默认值就是自带等高布局的特点. 定义flex布局的时候,有一些默认值. flex-direction属性定义主轴的方向.默认值为row,一般是水 ...

  9. python 给文本加下划线_python-matplotlib图例中的下划线文本

    我的图例中需要带下划线.我发现一个问题回答here 但我完全不了解LaTeX.我需要在图例中强调"由伽马光谱确定的含量"(代码的第53行).我尝试从链接中执行以下操作: r'\un ...

  10. android 双卡的铃声设置在哪里,安卓android手机铃声设置方法

    android铃声设置另类方法 我们在其他Android手机设置铃声的时候,一般采用的方法都是使用第三方软件(如TongPicker)设置,这样的设置方法有些繁琐,必须在相应的设置箱内启动该程序才能设 ...

最新文章

  1. MySQL数据库使用连接更新表中某个字段数据
  2. Unit Testing for WinForm
  3. 今天 学习用到的一些知识(properties 读取,js 删除元素)
  4. GPU Gems1 - 8 衍射的模拟
  5. 同事:别加班了,今天可是你们1024程序员节啊!
  6. Spring、Struts整合
  7. 一招教你在linux服务器配置Jenkins持续集成神器
  8. hasCode in Java
  9. AgentWeb简易使用
  10. excel 小技巧——如何在每列后插入一列并指定内容(如何隔列插入一列并指定内容)
  11. 面试产品经理 应该如何介绍自己的优势和劣势?
  12. cad延伸快捷键_CAD绘图大师都在用的46组快捷键,高效绘图必备
  13. idea 2021 IDEA的Persistence 窗口 查看ERD关系图
  14. helm部署jenkins到k8s并创建pipeline构建项目
  15. springboot定期清理文件
  16. sql server 入门篇
  17. 二值化阈值自动选取方法
  18. 一款c语言实现的赛车游戏
  19. matlab解含gamma函数的方程组,matlab积分结果中的gamma()函数参数问题,急求解答!!!...
  20. 制造业企业设备管理,设备管理平台,从信息化到智慧化

热门文章

  1. mysql候选关键字_MySQL Key值(PRI, UNI, MUL)的含义、超键(super key)、候选键(candidate key)、主键(primary key)...
  2. 联想微型计算机改win7,联想win10改win7如何实现?联想电脑Win10改Win7方法详解
  3. Ubuntu16.04 + cuda8.0 + GTX1080 + matlab14.04a + Opencv3.0 + caffe 安装教程
  4. elastic serach学习
  5. 自用电脑/物理机安装ESXI6.8集成网卡版详细教程
  6. linux中下载nali + 配置golang环境
  7. 贴片LED发光二极管的组成成分和正负极方向判断 LED灯伏安曲线怎么看(电流电压关系)
  8. 统计——假设检验与p值
  9. VSCode插件篇-Code Runner配置Python环境
  10. 4093:倒排索引查询--bitmap并查集