怎样得到控件的宽高(高分求助,在线等 )

-船长- 2011-03-15 07:27:26
比如说:一个Button 。 怎么得到他的宽高 。。
...全文
447 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
-船长- 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 dinjay 的回复:]

突然又想到了个方法,比如说有个textview,那可以在onCreate里直接就调用setfocus,然后textview的onfocuschange里来获取宽高....不知道行不行呢
[/Quote]

activity 加载完毕,还能不能设置各个控件的Margin 呢 ?
dinjay 2011-03-16
  • 打赏
  • 举报
回复
突然又想到了个方法,比如说有个textview,那可以在onCreate里直接就调用setfocus,然后textview的onfocuschange里来获取宽高....不知道行不行呢
dinjay 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 hosterzhu 的回复:]

引用 14 楼 zhuzeitou 的回复:

onWindowFocusChanged这个时候应该可以了


在这个方法里得到了。
[/Quote]
学习了,查了一下,好像是挺有用的
http://blog.csdn.net/wanjunfu/archive/2010/11/23/6029297.aspx
-船长- 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zhuzeitou 的回复:]

onWindowFocusChanged这个时候应该可以了
[/Quote]

在这个方法里得到了。
-船长- 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 dinjay 的回复:]

你是通过布局文件创建的吧?
要不改成动态创建布局吧,就是创建一个linearlayout,自己通过addview的方式将new出来的控件一个一个加到这个layout里,然后LinearLayout.LayoutParams参数你可以指定,也就是说
public int bottomMargin The bottom margin in pixels of the child.
public……
[/Quote]

我就是动态的。 o(︶︿︶)o 唉 还是没解决这个问题 。
zhuzeitou 2011-03-16
  • 打赏
  • 举报
回复
onResume和onStart似乎不够晚我记得
seker_xinjian 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 dinjay 的回复:]

还不行就在onResume或者onStart里获取宽高试试
[/Quote]

误解,点名批评一下!
dinjay 2011-03-16
  • 打赏
  • 举报
回复
还不行就在onResume或者onStart里获取宽高试试
dinjay 2011-03-16
  • 打赏
  • 举报
回复
你是通过布局文件创建的吧?
要不改成动态创建布局吧,就是创建一个linearlayout,自己通过addview的方式将new出来的控件一个一个加到这个layout里,然后LinearLayout.LayoutParams参数你可以指定,也就是说
public int bottomMargin The bottom margin in pixels of the child.
public int leftMargin The left margin in pixels of the child.
public int rightMargin The right margin in pixels of the child.
public int topMargin The top margin in pixels of the child.
这四个margin你自己写死了,那也就知道了。
zhuzeitou 2011-03-16
  • 打赏
  • 举报
回复
onWindowFocusChanged这个时候应该可以了
whatwhy83 2011-03-16
  • 打赏
  • 举报
回复
在创建之后是能够得到的!就是在oncreate之后
-船长- 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 dinjay 的回复:]

什么时候需要获取的时候再获取呗,只要别再onCreate里获取就行
[/Quote]

我现在有个需求是:做一个工具栏,里面有很多控件。要让每个控件之间的Margin 。
得到屏幕宽度减去控件自身的宽度。 现在控件宽度我就是得不到。
dinjay 2011-03-16
  • 打赏
  • 举报
回复
什么时候需要获取的时候再获取呗,只要别再onCreate里获取就行
-船长- 2011-03-16
  • 打赏
  • 举报
回复
那在什么时候能得到宽高、请高人指点 。
念茜 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hosterzhu 的回复:]
在Oncreate 不能调用 ? 是说在setContentView()之后调用吗 ?
[/Quote]

Oncreate还没结束呢 按钮还没生出来呢 你就要知道宽高 当然是0
sky123123 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hosterzhu 的回复:]
在Oncreate 不能调用 ? 是说在setContentView()之后调用吗 ?
[/Quote]


显示之后``
-船长- 2011-03-15
  • 打赏
  • 举报
回复
在Oncreate 不能调用 ? 是说在setContentView()之后调用吗 ?
seker_xinjian 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lazy_2010 的回复:]

只有在控件显示之后,这样调用才可以的,如果在 onCreate 中调用是不行的
[/Quote]

正解,点名表扬一下!
lazy_2010 2011-03-15
  • 打赏
  • 举报
回复
只有在控件显示之后,这样调用才可以的,如果在 onCreate 中调用是不行的
itclock 2011-03-15
  • 打赏
  • 举报
回复
我这里可以啊
加载更多回复(2)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧