如何在Oncreate中获取TextView的宽度

如何在Oncreate中获取TextView的宽度,第1张

在Oncreate中获取TextView的宽度

在onCreate()里是获取不到控件的width,height的,这个时候控件都没有measure,layout完毕,所以获取到的结果都是0。要获取控件的宽度、高度必须在measure、layout过程完毕之后。

有2种方法:

1如lss所讲的一样:

ViewTreeObserver vto = mBtnSendgetViewTreeObserver();

vtoaddOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

int height = mBtnSendgetMeasuredHeight();

int width = mBtnSendgetMeasuredWidth();

Systemoutprintln("height:" + height + " " + "width:" + width);

}

});

2在Activity里重写方法

public void onWindowFocusChanged(boolean hasFocus);

在窗口第一次获得焦点的时候,肯定能获取到控件的width,height。

这时动态调整列宽的代码,可以根据表格中的文字宽度自动调整,数据显示表

就是你说的

mshflexgrid控件,至于行高,用属性RowHeight即可,代码形式是一样的

Private

Sub

数据显示表_Click()

数据显示表ColWidth(数据显示表Col)

=

TextWidth(数据显示表Text)

+

120

End

Sub

以上就是关于如何在Oncreate中获取TextView的宽度全部的内容,包括:如何在Oncreate中获取TextView的宽度、vb中mshflexgrid控件的控件,怎样动态的调整其表格的宽度和高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9781932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存