无论如何,我都没有找到将我的 textview 的锚点/原点更改为中心的方法。我正在尝试增加字体大小,但我希望它从 textview 的中心而不是左上角开始增长。
编辑:用图像更新
蓝色:起源
紫色:中心
如果原点像 1 和 2 一样位于左上角,则当视图变大时,中心会从 0,0 移开。
我想得到它,所以中心点永远不会像 3 和 4 那样移动。如果 3 增长到 4,它仍然会有相同的中心。
无论如何,我都没有找到将我的 textview 的锚点/原点更改为中心的方法。我正在尝试增加字体大小,但我希望它从 textview 的中心而不是左上角开始增长。
编辑:用图像更新
蓝色:起源
紫色:中心
如果原点像 1 和 2 一样位于左上角,则当视图变大时,中心会从 0,0 移开。
我想得到它,所以中心点永远不会像 3 和 4 那样移动。如果 3 增长到 4,它仍然会有相同的中心。
我想这就是你想要的......
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Large Text"
android:textSize="30dp" />
我将粘贴一个真正希望可以提供帮助的示例:
// 创建文本 Paint
Paint text = new Paint();
// 定义文本属性:
text.setColor(Color.GRAY);
text.setStyle(Style.FILL);
text.setFakeBoldText(true);
text.setAntiAlias(true);
text.setTextSize((float) (30));
text.setAlpha(95);
// 我的“画布”(实际上是一种子画布)的宽度为 120
//以Y轴为中心
int yPos = (int) (yTarget - ((text.descent() + text.ascent()) / 2));
//以X轴为中心
int xPos = (int) (120/2 - text.measureText("+.25°")/2);
// 在正确的位置写入文本:
canvas.drawText("+.25°", xPos, yPos, text);