我正在创建一个具有扩展线性布局的类(圆形按钮)的模块。它包含图像视图和文本视图。
在XML文件中声明圆按钮视图时,将分配layout_width和layout_height值。我希望imageview尺寸与分配的布局尺寸成比例。因此,如何将布局尺寸传递给视图类,以便我可以将比例尺寸分配给图像视图?
PS:这个问题不涉及传递自定义属性。但经过这些交易android:layout_width
,并android:layout_height
以自定义UI类。
我通过将视图实例传递给需要值的方法来解决此问题。然后使用getViewTreeObserver().OnGlobalLayoutListener()
。
public void setIcon(final RoundedButton rb, final int drawableResourceId, final int position){
mIconPosition = position;
rb.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
buttonWidth = rb.getWidth();
buttonHeight = rb.getHeight();
//whatever needs to be done with the dimensions
}
});
}
this.getViewTreeObserver().addOnGlobalLayoutListener()
即使类扩展了视图类型,您也无法执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句