項(xiàng)目的個(gè)人基本信息UI界面效果圖如下,有一個(gè)紅色的*號(hào),并且跟它挨著的文字顏色不一樣距贷。簡(jiǎn)友們党涕,你們是怎么實(shí)現(xiàn)的呢?我這里主要介紹一種有Html渲染的方式
圖片.png
一開始逝变,我測(cè)試過用一個(gè)TextView來單獨(dú)裝載符合基茵,發(fā)現(xiàn)如果需求改顏色的時(shí)候那所有的TextView都需要改一遍顏色,接著測(cè)試了用一個(gè)TextView把符合和對(duì)應(yīng)的文字裝載在一起壳影,但是發(fā)現(xiàn)*符號(hào)的高度不好控制拱层,最后覺得用Html渲染的方式最佳。不多說了宴咧,開始正文內(nèi)容根灯。
1、Xml布局(只選取對(duì)應(yīng)的部分)
這里的*符號(hào)和文字其實(shí)也是公用一個(gè)TextView
<LinearLayout
style="@style/style_match_line_layout"
android:layout_marginTop="10dp" >
<!--主要看這個(gè)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掺栅、創(chuàng)建對(duì)應(yīng)String資源
這里可以單獨(dú)設(shè)置*符號(hào)和文字的顏色烙肺、加粗等操作
<string name="tip_xinghao_nation"><Data><![CDATA[<font color="#e60012"> *</font><font color="#189dde">民族 : </font>]]></Data></string>
3、java代碼中實(shí)現(xiàn)渲染
tvNation.setText(Html.fromHtml(getString(R.string.tip_xinghao_nation)));
到這里就可以實(shí)現(xiàn)效果圖里面的效果了氧卧,如果更改*符號(hào)和文字顏色和大小的時(shí)候桃笙,統(tǒng)一在String資源哪里更改就可以了。
如果簡(jiǎn)友們有更好的實(shí)現(xiàn)方法沙绝,記得留言跟我說一下喔搏明!謝謝!宿饱!