如何拥有一个圆形TextView

我一直在尝试制作一个圆形的TextView 。 它是一个圆圈,我想在圆形气泡上方容纳整个空间,如下图所示。

请看附图。

圆形泡沫与侧面的文本

在此图像中,我们有一个带圆形文本的圆形气泡。 我已经尝试将椭圆形.xml设置为TextView背景但仍然没有运气。

编辑:

随着文字长度的增加。 它必须减小尺寸以适应圆圈内部。 这是最难思考的部分。

Related of "如何拥有一个圆形TextView"

您需要创建一个自定义视图 ,可能从TextView扩展,将圆设置为背景图像,并根据文本的宽度手动计算文本宽度/打破线。

要计算字符串的宽度,请参阅如何计算字符串字体宽度(以像素为单位)?

当然,需要一些数学和计算来测量每条线的可用空间; 但我认为这是唯一的方法,因为没有标准组件可以做到这一点。

要将文本放在视图上,请使用Canvas类的 drawText