如果我声明LinearLayout linearLayout
并看看linearLayout.getLayoutParams()
,它ViewGroup.LayoutParams
不会给我LinearLayout.LayoutParams
。
因此,我必须使用以下重复(因而很糟糕)的样式构造:
int lm = ((LinearLayout.LayoutParams) linearLayout.getLayoutParams()).leftMargin?
例如,如果我想获得利润,是否真的需要使用它?
是我对Android或Java的误解,还是两者兼而有之?
我认为您对“ LayoutParams”的理解不正确。视图(或布局)LayoutParams
必须是“父视图的LayoutParams”的实例。
例如,这是RelativeLayout中的LinearLayout。该LinearLayout的LayoutParams必须是RelativeLayout.LayoutParams。这个东西使我们能够正确设置属性,例如'centerInParent'等。
调用时getLayoutParams()
,将返回与父ViewGroup类型匹配的LayoutParams的各种实例。因此,我们需要在调用时重复转换视图的LayoutParams的类型getLayoutParams()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句