2016-09-01 65 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>