在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控件的控件,怎样动态的调整其表格的宽度和高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)