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我进行了双重检查,文本宽度发生了变化,但不准确(它说文本宽度比它所在的视图小,但实际上比视图大)