編輯:關於Android編程
需求分析:
很多時候,我們需要在視圖中顯示不同樣式的文字,但是為了減少viewgroup層級,不想新增很多個TextView控件來實現不同樣式的文字。
那麼有沒有一種方式能夠在同一個TextView控件中實現多種自定義的樣式的文字呢?
答案是肯定的,下面就讓我們來做一個此問題的實踐實驗。
實踐過程:
首先我們在布局xml文件中定義了三個TextView控件,它們的定義如下:
String rateContent = t.getAnnualizedRateOfReturn() + %; int lenRate = rateContent.length(); SpannableString rate = new SpannableString(rateContent); rate.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_rate_text_style1), 0, lenRate-1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); rate.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_rate_text_style2), lenRate-1, lenRate, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); String monthsContent = String.valueOf(t.getMonths()) + 個月; int lenMonths = monthsContent.length(); SpannableString months = new SpannableString(monthsContent); months.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_month_sum_text_style1), 0, lenMonths-2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); months.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_month_sum_text_style2), lenMonths-2, lenMonths, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); String sumContent = String.valueOf(t.getSum()) + 萬元; int lenSum = sumContent.length(); SpannableString sum = new SpannableString(sumContent); sum.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_month_sum_text_style1), 0, lenSum-1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); sum.setSpan(new TextAppearanceSpan(getActivity(), R.style.item_month_sum_text_style2), lenSum-1, lenSum, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vh.setText(R.id.name_text, t.getName() + ( + t.getDate() + )).setStyledText(R.id.annualized_Rate_text,rate) .setStyledText(R.id.due_time_text, months) .setStyledText(R.id.total_sum_text, sum);
這裡面的setStyledText方法實際上是封裝了,TextView控件的setText方法,Span那邊了String是CharSequence整個類的子類,因此可以作為setText方法的參數。
最終效果,如下圖:
我們可以看到,在同一個TextView中,有兩種不同style的文字。
最後希望此文能夠對讀者有所幫助。
演示效果如下:項目布局如下:MainActivity.java代碼import java.util.ArrayList;import java.util.List;imp
本文介紹在Android中實現推送方式的基礎知識及相關解決方案。推送功能在手機開發中應用的場景是越來起來了,不說別的,就我們手機上的新聞客戶端就時不j時的推送過來新的消息
在即時聊天中可能會存在一個隱藏的Bug,這個Bug根據手機的網速和性能有關系,比如你即時聊天中,你發送一消息,你的網絡情況不是很好,這個時候你發送的消息一直處於
沒有辦法,米公設計的一個UI是stickyheaderlist(頭部停留)和分頁加載數據功能的整合,筆者原以為是米工自己拍著腦袋想出來的,還想進一步討論一下,後來才發現支