我需要在画布上的text
周围绘制矩形。
目前我用它来计算矩形位置:
Rect bounds = new Rect();
paint.getTextBounds(getData().getText(), 0, getData().getText().length(), bounds);
data.getBoundBox().left = start.x+bounds.left;
data.getBoundBox().right = start.x+bounds.right;
data.getBoundBox().top = start.y + bounds.top;
data.getBoundBox().bottom = start.y+bounds.bottom;
其中start是text
基线的坐标。
但我得到了这个:
https://dl.dropboxusercontent.com/u/29406527/Screenshot_2013-12-27-14-15-28.png
我尝试了measureText
之类的东西,但没有区别。
答案 0 :(得分:1)
您应该使用可绘制的形状并将其设置为TextView的背景。
这是可绘制的形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
android:dashWidth="3dp"
android:dashGap="3dp"
android:color="#FFFFFF"
android:width="1dp"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
<corners
android:radius="4dp" />
</shape>
这就是你将它设置为背景的方式:
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape"
/>