Java Android:在textview中的复合可绘制图像上添加文本

Java Android:在textview中的复合可绘制图像上添加文本,java,android,drawable,Java,Android,Drawable,我正在处理一个文本视图,该视图显示所选项目的数量(从多项选择列表中),数字周围有一个圆圈。我想通过使用SetCompoundDrawablesIntrinsicBounds来添加圆圈(因为我不希望有两个单独的文本视图来实现所需的外观),但我的问题是,是否可以在圆圈图像上应用一些文本(在本例中是数字),或者如果不可以,我心目中的标签的最佳解决方案是什么 我需要实现如下内容: 你有什么建议?提前谢谢你的帮助 您可以使用LinearLayout,而不是单击LinearLayout的单个文本视图 对于

我正在处理一个文本视图,该视图显示所选项目的数量(从多项选择列表中),数字周围有一个圆圈。我想通过使用SetCompoundDrawablesIntrinsicBounds来添加圆圈(因为我不希望有两个单独的文本视图来实现所需的外观),但我的问题是,是否可以在圆圈图像上应用一些文本(在本例中是数字),或者如果不可以,我心目中的标签的最佳解决方案是什么

我需要实现如下内容:


你有什么建议?提前谢谢你的帮助

您可以使用LinearLayout,而不是单击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>

您可以使用LinearLayout,而不是通过单击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>


我的问题是,是否有可能以某种方式应用一些文本(在本例中是数字)
否。复合绘图是。。。可提取的<代码>我不想使用两个单独的文本视图来实现所需的外观,但这是您唯一的选择,除非您不想创建自己的自定义视图并覆盖
onDraw()
方法是,您可以将
setCompoundDrawablesWithIntrinsicBounds
与自定义
drawableswithintrinsicbounds
一起使用,该自定义
drawableswithintrinsicbounds
可以绘制包含文本的圆圈,只需创建一个扩展
Drawable
类并重写
draw
方法的类,如果扩展
Drawable
类太多,您可以使用
ShapeDrawable
自定义
ShapeDrawable
传递给
ShapeDrawable
constructorhanks@pskink,你的建议肯定要考虑:(代码)>我的问题是,是否有可能以某种方式应用一些文本(在这个例子中是数字)< /代码>。可提取的<代码>我不想使用两个单独的文本视图来实现所需的外观,但这是您唯一的选择,除非您不想创建自己的自定义视图并覆盖
onDraw()
方法是,您可以将
setCompoundDrawablesWithIntrinsicBounds
与自定义
drawableswithintrinsicbounds
一起使用,该自定义
drawableswithintrinsicbounds
可以绘制包含文本的圆圈,只需制作一个扩展为<代码>可绘制< <代码> >类并重写<代码>绘制< /C> >方法,如果它太大而不能扩展<代码>可绘制< <代码> >类,则可以使用<代码> SuffDeRabele>代码> >自定义<代码>形状>代码>传递到<代码> SabrdRabe>