如何使用 android:layout_width="wrap_content" 获取视图的宽度(以像素为单位)?
我有视图,其中有layout_width =“wrap_content”。如果我在代码中使用 view.getWidth() ,它会返回 0。:-( 如何将视图“wrap_content”的宽度转换为像素?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试使用
getMeasuredWidth
来代替。但如果它返回 0,则意味着当您尝试测量视图时视图尚未准备好。尝试稍后再拨。就像在 onCreate 完成时发布的线程中一样You could try
getMeasuredWidth
instead. but if it returns 0, that means the View is not ready when you try to measure it. try to make the call later. Like in a thread you poste when onCreate is finished这取决于您何时调用 view.getWidth() 。如果视图不可见 [onCreate , onResume] ,结果将始终为 0 。
尝试调用 view.getWidth
希望这会有所帮助。
it depends when are you calling view.getWidth() .The result will always be 0 if the view is not visible [onCreate , onResume] .
Try to call view.getWidth in
Hope this will help .
记住不要在onCreate()中直接调用view.getWidth(),因为测量过程还没有执行,你可以在getWidth()返回的值只能是0。
Remember do not call view.getWidth() directly in onCreate(), cause the measuring process is not performed yet, where you can only get 0 returned by getWidth().