項目的個人基本信息UI界面效果圖如下,有一個紅色的*號,并且跟它挨著的文字顏色不一樣。簡友們,你們是怎么實現的呢?我這里主要介紹一種有Html渲染的方式

一開始,我測試過用一個TextView來單獨裝載符合,發現如果需求改顏色的時候那所有的TextView都需要改一遍顏色,接著測試了用一個TextView把符合和對應的文字裝載在一起,但是發現*符號的高度不好控制,最后覺得用Html渲染的方式最佳。不多說了,開始正文內容。
1、Xml布局(只選取對應的部分)
這里的*符號和文字其實也是公用一個TextView
<LinearLayout style="@style/style_match_line_layout" android/234741.html">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資源
這里可以單獨設置*符號和文字的顏色、加粗等操作
3、java代碼中實現渲染
tvNation.setText(Html.fromHtml(getString(R.string.tip_xinghao_nation)));
到這里就可以實現效果圖里面的效果了,如果更改*符號和文字顏色和大小的時候,統一在String資源哪里更改就可以了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答