Java android大文本大小不是';计算不正确
我有这个代码来测量文本宽度Java android大文本大小不是';计算不正确,java,android,text,text-size,Java,Android,Text,Text Size,我有这个代码来测量文本宽度 public float textWidthPixels(String text) { TextPaint textPaint = myAccountView.getPaint(); float width = textPaint.measureText(text); View parent = (View) myAccountView.getParent(); int paddingLeft = parent.getPaddingL
public float textWidthPixels(String text) {
TextPaint textPaint = myAccountView.getPaint();
float width = textPaint.measureText(text);
View parent = (View) myAccountView.getParent();
int paddingLeft = parent.getPaddingLeft();
int paddingRight = parent.getPaddingRight();
return width - (paddingLeft + paddingRight);
}
这是从
final ViewTreeObserver[] viewTreeObserver = {myAccountView.getViewTreeObserver()};
viewTreeObserver[0].addOnPreDrawListener(
new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
然而
当我在辅助功能菜单中将字体大小更改为“大”时
文本宽度会发生变化,但并不准确(它表示文本宽度小于它所在的视图,但实际上大于视图)您在哪里调用此方法?所有内容都已呈现了吗?我调用了
viewTreeObserver.onPreDraw()
@pskink,但是如何在代码中获取sp呢浮动宽度=文本绘制。测量文本(文本);`返回px。@pskink我进行了双重检查,文本宽度发生了变化,但不准确(它说文本宽度比它所在的视图小,但实际上比视图大)