2016-09-01 102 views
0

我正在處理一個文本視圖,該視圖顯示所選項目數量(來自多選列表),數字周圍有一個圓圈。我想通過使用setCompoundDrawablesWithIntrinsicBounds(因爲我不想有兩個單獨的文本視圖來實現所需的外觀)添加圓,但我的問題是,如果可以以某種方式應用一些文本(在這種情況下的數字)圓形圖像或者如果不是,我想要的標籤的最佳解決方案是什麼?Android:在文本視圖中添加複合可繪製圖像上的文本

我需要實現的東西看起來像這樣:

enter image description here

你是什麼意見?我在這裏先向您的幫助表示感謝!

+0

'我的問題是,如果有可能以某種方式適用於一些文字(在這種情況下,數字)'**電話**。複合繪圖是可繪製的。 '我不希望有兩個單獨的文本視圖來實現所需的外觀'但它是你唯一的選擇**,除非你不想製作自己的自定義視圖並重寫'onDraw()'方法 –

+0

是的,你可以使用帶有自定義'Drawable'的'setCompoundDrawablesWithIntrinsicBounds'來繪製帶有文本的圓圈,只需要創建一個類來擴展'Drawable'類並覆蓋'draw'方法 – pskink

+0

,並且如果它過多, '類可以使用具有自定義'Shape'的'ShapeDrawable'傳遞給'ShapeDrawable'構造函數 – pskink

回答

0

您可以使用LinearLayout來代替單個TextView實現LinearLayout的點擊。

對於XML使用本: -

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
android:background="@drawable/line"> 

<TextView 
android:id="@+id/txtNumber" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background="@drawable/round_bg"/> 

<TextView 
android:id="@+id/txtDropDown" 
android:layout_width="0dp" 
android:weight="1" 
android:layout_height="wrap_content" 
android:drawable_right="@drawable/arrow_down"/> 

</LinearLayout>