定制一个TextView
我想创建这样的标签:定制一个TextView
的要求是:
- 矩形应与文本增长
- 红线的长度属性依赖
我试过的是创造e为文本背景的9ng图像,并使用填充属性表示红线的长度。红线是通过覆盖onDraw方法绘制的。
结果是红线是正确的,但背景展开包括填充像这样:
什么是做到这一点的最好方法是什么?建立一个包含标签的自定义视图?以编程方式绘制100%的自定义视图(在这种情况下,调整9ng图像的方法是什么?)?要做到这一点
感谢 朱利安
试试这个
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="The text"
android:textColor="#000000"
android:background="@drawable/<your_drawable>"
android:textSize="16sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:background="#f00"
android:layout_weight="1" />
</LinearLayout>
希望它会帮助你
哼,我试着用程序完成它,但这个解决方案很好。我添加了一个包装类来存储红线宽度。有没有办法用这种方法绘制点线? – Julien
这是处理它的简单方法。 –
最好的方法可能使用两个不同的控制器。
您设置了一个简单的textView
,并将矩形作为背景,宽度设置为wrap-content
。
在此之后,您可以根据需要(位于控制器的右侧或页面末尾或您喜欢的位置)创建要放置的位置,然后调整它的大小。
对于任何疑问,我在这里
共享视图XML代码。 –