android中使用Html渲染的方式实现必填项前面的*号示例

项目的个人基本信息UI界面效果图如下,有一个红色的*号,并且跟它挨着的文字颜色不一样。简友们,你们是怎么实现的呢?我这里主要介绍一种有Html渲染的方式

一开始,我测试过用一个TextView来单独装载符合,发现如果需求改颜色的时候那所有的TextView都需要改一遍颜色,接着测试了用一个TextView把符合和对应的文字装载在一起,但是发现*符号的高度不好控制,最后觉得用Html渲染的方式最佳。不多说了,开始正文内容。

1、Xml布局(只选取对应的部分)

这里的*符号和文字其实也是公用一个TextView

 <LinearLayout
    style="@style/style_match_line_layout"
    android:layout_marginTop="10dp" >

<!--主要看这个TextView-->
    <TextView
     android:id="@+id/tv_nation"
     style="@style/style_job_textview_text_title"
     tools:text="*民族"
     android:text="@string/tip_nation" />

    <RelativeLayout
     android:id="@+id/view_nation"
     style="@style/style_job_textview_text_message"
     android:clickable="true" >

     <EditText
      android:id="@+id/et_nation"
      style="@style/style_editext"
      android:hint="@string/tip_please_select" />

     <ImageView style="@style/style_editext_image_arrow" />
    </RelativeLayout>
 </LinearLayout>

2、创建对应String资源

这里可以单独设置*符号和文字的颜色、加粗等操作

代码如下:

<string name="tip_xinghao_nation"><Data><![CDATA[<font color="#e60012"> *</font><font color="#189dde">民族 : </font>]]></Data></string>

3、java代码中实现渲染

tvNation.setText(Html.fromHtml(getString(R.string.tip_xinghao_nation)));

到这里就可以实现效果图里面的效果了,如果更改*符号和文字颜色和大小的时候,统一在String资源哪里更改就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • android支付宝客户端html5网页无法自动关闭问题的解决方法

    公司产品使用支付宝移动网页接口支付,当三方商户传入跳转地址,在支付宝页面支付成功后跳转到该地址,如果没传将会自动关闭页面. 测试的时候在ios客户端上面可以,但是在Android客户端上偶尔行偶尔不行. 以前代码: $(function(){ if('$[code]'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWe

  • Android 网络html源码查看器详解及实例

    Android 网络html源码查看器详解及实例 IO字节流的数据传输了解 Handler的基本使用 1.作品展示 2.需要掌握的知识 FileInputStream,FIleOutputStream,BufferInputStream,BufferOutStream的读写使用与区别 //进行流的读写 byte[] buffer = new byte[1024 * 8]; //创建一个写到内存的字节数组输出流 ByteArrayOutputStream byteArrayOutputStream

  • Android加载html中svg格式图片进行显示

    最近做的一个项目是把assets目录中的html显示出来,但是因为html里面有一些工程图片,虽然我用ViewPager和PhotoView,进行显示放大了,但是因为工程图片的线条较多还是比较模糊.所以后来就想用svg图片来进行显示,至于svg是什么,我这里就不做多的说明,可以去网上搜一搜看看.因为svg和png jpg是不同的,没办法用glide(我图片加载框架用的是glide)进行加载,所以我就只能另想办法了,最后找到一个开源库,解决了我的问题,下面我也是用开源库做的,但是有几个坑需要注意:

  • 详解Android WebView加载html片段

    这里我先简单描述一下需求:服务器返回的是html页面的一部分带有标签的内容. 解决的思路是:将服务器返回的内容片段拼凑成一个完整的页面. 下面直接上核心代码: 这里是WebView一些配置 WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setDomStorageEnabled(true); settings.setUseWideViewPort(true);

  • 手把手教学Android用jsoup解析html实例

    1.jsoup介绍 很多时候,我们需要从各种网页上面抓取数据,而jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. jsoup官方文档:https://jsoup.org/cookbook/ 2.使用场景 下面是一张关于美食的截图,可以留意到这是一个html网页,当我们想要抓取里面的数据的时候,jsoup就能帮到我们很多. 接下来开始手把手教学 首先,也是很

  • Android如何让WebView中的HTML5页面实现视频全屏播放

    前言 本文主要是将最近工作中遇到的一个问题进行总结分享,主要介绍的是如何让WebView中H5页面全屏播放视频.关于这个问题,做一下简单分析,希望对大家有所帮助,下面话不多说了,来看看详细的介绍吧. 效果图 运行效果 其实很简单,就是配置问题.关键地方配好了,基本没什么问题了. 硬件加速 设置WebView 在清单需要配置的AndroidManifest.xml <application android:allowBackup="true" android:icon="

  • Android编程实现使用webView打开本地html文件的方法

    本文实例讲述了Android编程实现使用webView打开本地html文件的方法.分享给大家供大家参考,具体如下: 在布局的配置文件里: <WebView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/webView"> </WebView> 后台java代码; @SuppressLint(

  • 详解Android使用Html.fromHtml需要注意的地方

    项目中我和一个同事都使用了Html.fromHtml设置字体的颜色,结果是他设置的没有效果,我的确有效果,然后对比代码不同的地方,终于知道原来使用html时候 ,还需要稍微注意下.因为是在机缘巧合之下发现的,所以特别记录下,减少错误的发生. 1. 设置字体颜色的时候,颜色值需要用到转义符:如下代码所示: String textStr = "本月已成功邀请 <font color=\"#FF0000\">" + 100 + "</font&

  • Android实现TextView显示HTML加图片的方法

    本文实例讲述了Android实现TextView显示HTML加图片的方法.分享给大家供大家参考,具体如下: TextView显示网络图片,我用android2.3的系统,可以显示图片出来,并且如果图片比较大,应用会卡的现象,肯定是因为使用主线程去获取网络图片造成的,但如果我用android4.0以上的系统运行,则不能显示图片,只显示小方框. 究其原因,是在4.0的系统上执行的时候报错了,异常是:Android.os.NetworkOnMainThreadException 经过查文档,原来是4.

  • Android编程获取网址HTML代码的方法

    本文实例讲述了Android编程获取网址HTML代码的方法.分享给大家供大家参考,具体如下: /** * * @param aUrl 网址 * @param aEncode 编码 * @return 返回的HTML代码 * @throws Exception 对外抛出异常 */ public String getHTML(String aUrl, String aEncode) throws Exception { URL url = new URL(aUrl); HttpURLConnecti

随机推荐