有没有办法让文字围绕某一点居中?因此,例如,如果我想要它在第100个像素周围绘制,那么无论文本的长度如何,它都将使100为中心点,因此如果文本是80像素,则它将从60开始并以140结束,但是如果文本只有50像素,它将从75开始,到125结束。
这是我目前用来绘制文字的代码。
public TextView drawTextView(String text, boolean center, int centerPoint, boolean bold, int topMargin, int leftMargin, int textSize, int color) {
View vt = new TextView(getBaseContext());
final TextView textView = new AutoResizeTextView(vt.getContext());
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Quicksand-Regular.otf");
textView.setText(text);
textView.setTextColor(color);
if (bold) {
textView.setTypeface(tf, Typeface.BOLD);
} else {
textView.setTypeface(tf);
}
textView.setTextSize(textSize);
textView.setSingleLine(false);
LayoutParams paramsText = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
paramsText.leftMargin = leftMargin;
paramsText.topMargin = topMargin;
container.addView(textView, paramsText);
return textView;
}
我不确定是否有办法在Android中执行此操作,但是非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
这应该有用。
textView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int width = textView.getMeasuredWidth();
textView.setX(centerPoint - width * 0.5F)