android自定义控件的相关问题
有一个自定义控件使用如下:
<my
android:layout_width="50dp"
android:layout_height="wrap_content"/>
我如何在my中得到宽度50了? android
[解决办法]
得到宽度?是指在java代码中获取控件宽度吗?可以用你的控件.getwidth看看。
[解决办法]
最简单的一种方式就是自定义View重载完超类View时, 直接使用 getLayoutParams().width 或者 getLayoutParams().height,。 即表示对应地android:layout_width="50dp"或android:layout_height 描述的属性值了。 具体实现过程,已经封装好了。同时,计量单位也已经转换好了 。例如:dip , sp等。
如果你想确定该View该屏幕上的最终确定值,可以使用getMeasureWidth()或者getWidth() 去获取。
[解决办法]
在inflate完成之前,只能通过getMeasureWidth()取得宽度
[解决办法]
4楼正解,只有inflate完成以后,才能使用getWidth来获取宽度,否则只能用getMeasureWidth