Code Bye

自定义组件 获取组件宽高

高手,本人在XML中通用
android:layout_width=”match_parent”
android:layout_height=”0dp”
android:layout_weight=”4″设定组件大小


问一下在MyView中怎么样获取该组件的宽高,用getHeight()方法获取的是个0。谢谢
解决方案

10

这个方法有很多种,个人觉得最好的是加:addOnGlobalLayoutListener。
也可以addOnPreDrawListener

5

在自定义布局中的onSizeChange获取一下宽高试试

5

是View还没有Measure完成你就调用了getHeight()方法,可以这样玩
post(new Runnable() {
@Override
public void run() {
getHeight();
}
});

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明自定义组件 获取组件宽高