为什么LinearLayout instance.getLayoutParams看起来有错误的类?

Gangnus:

如果我声明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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么静态嵌套类看起来有实例字段?

C ++为什么当“ 100%看起来像匹配”时出现错误“没有匹配功能”?

为什么这个错误看起来有规律?二分查找 C

为什么按钮看起来很奇怪?

为什么输出看起来不同?

当指针看起来合适时,为什么指针分配会显示左值错误?

如果iPhone环境是wCompact-hCompact,为什么它看起来如此错误?

当输出看起来正确时,为什么这种ca撒加密是错误的?

为什么我对对数函数的拟合看起来如此错误

引导表单选择控件为什么看起来有些奇怪?

为什么flexbox的项目看起来不居中,边框的底部没有覆盖整个空间?

为什么Whoops在我的Laravel上看起来有所不同?

我的Mandelbrot看起来不应该。有人知道为什么吗?

Swift:为什么我所有的可选变量都看起来像“ Optional(305.502)”

为什么Vim颜色在tmux的内部和外部看起来有所不同?

为什么Windows DPI缩放使屏幕元素看起来有所不同?

为什么脚本的退出代码看起来与返回的值具有不同的值?

为什么字体有时在Mac OS X上看起来像“胖”?

尽管语法看起来不对,但为什么下面的 SQL 查询仍然有效?

为什么表情符号☘️有时看起来像☘?

(硒)为什么所有元素看起来都一样?

在oncreate()方法之后,linearlayout的高度错误,为什么?

为什么按钮在LinearLayout中没有相同的基线

为什么postSnapshot看起来为null

为什么我的滚动条看起来很古怪?

为什么从TCustomFrame继承的组件看起来与TFrame不同?

为什么我的字体看起来不同?

为什么Chrome上的字体看起来很奇怪?

为什么CPU内部看起来是彩色的?