【发布时间】:2013-12-18 03:59:57
【问题描述】:
我想将代码中文本视图的宽度设置为width =119
tv.setWidth(width);
int width2 = tv.getWidth();
但我得到了结果
width2 =12
我在 onlayout 方法中有这段代码,当 android 系统再次调用 onlayout 时(我认为文本视图实际上在屏幕上),结果将是正确的
width2 =119
我认为如果宽度设置为固定值,您可以在 UI 中绘制之前再次将其设置为另一个值。
我怎么知道什么时候会调用 onlayout,因为有时它不会再次调用,我的意思是在 textview 实际出现在屏幕上之后?
【问题讨论】:
-
我认为您的视图有一个限制其大小的父视图
-
为什么要设置宽度而不是使用布局文件自动定位和设置其大小?
-
你试过
tv.getLayoutParams().height = 119;吗? -
因为我想根据屏幕的宽度来计算宽度
-
我已经回答了一个类似的问题。可能会帮助stackoverflow.com/a/26233453/517450