设置EditText的宽度
我在 XML 文件中将 EditText 元素的宽度设置为 fill_parent
,但从代码访问它时,它返回 0。 我想要的是运行时该元素的实际宽度。我怎么能做到呢。
I am setting the width of EditText element to fill_parent
in XML file, but when accessing it from code, it returns 0.
What I want, is the actual width of that element at run time. How could I do it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 getMeasuredWidth():http://developer.android。 com/reference/android/view/View.html#getMeasuredWidth%28%29
另请参阅此处:
http://developer.android.com/guide/topics/ui /how-android-draws.html
Use getMeasuredWidth(): http://developer.android.com/reference/android/view/View.html#getMeasuredWidth%28%29
Read also here:
http://developer.android.com/guide/topics/ui/how-android-draws.html
您可以通过创建自定义视图并重写 onMeasure() 方法来解决此问题。如果您始终使用“fill_parent”作为 xml 中的layout_width,则传递到 onMeasusre() 方法的 widthMeasureSpec 参数应包含父级的宽度。
您的 XML 看起来像这样:
You could solve this by creating a custom View and override the onMeasure() method. If you always use "fill_parent" for the layout_width in your xml then the widthMeasureSpec parameter that is passed into the onMeasusre() method should contain the width of the parent.
Your XML would look something like this:
我将向您推荐有关该主题的先前答案,该答案应该会有所帮助:
如何检索视图的尺寸?
I'll refer you to a previous answer on this topic that should be helpful:
How to retrieve the dimensions of a view?