当前位置: 首页 > 面试题库 >

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

籍利
2023-03-14
问题内容

如果我声明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()



 类似资料:
  • 很长一段时间以来,我一直认为C比JavaScript快。然而,今天我制作了一个基准脚本来比较两种语言的浮点计算速度,结果令人惊叹! JavaScript似乎比C快近4倍! 我让这两种语言在我的i5-430M笔记本电脑上做同样的工作,执行了100000000次。C需要大约410毫秒,而JavaScript只需要大约120毫秒。 我真的不知道为什么JavaScript在这种情况下运行得这么快。有人能解

  • 我看了几个教程,他们所有的列表首选对话框都是这样的。 列表偏好对话框 但我的对话看起来像这样 我的对话 知道为什么我的对话框看起来不一样吗?我查看了教程,我的xml代码看起来和他们的一样。 下面是我的pref_general.xml代码。 和部分活动代码

  • 问题内容: 我知道大多数小数都没有确切的浮点表示形式(浮点数学运算符是否损坏?。 但是我不明白为什么当两个值实际上都具有丑陋的十进制表示形式时,为什么不能很好地打印为,但不是呢? 问题答案: 简单的答案是由于量化(舍入)误差(而乘以2的幂通常是“精确”运算)。Python试图找到 最短的字符串并将其舍入为所需的值 ,因此它可以显示为相等,但不能显示为,因为它们不相等。 您可以在Python中使用该

  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • null 整个代码块: 代码主要摘自:http://www.bjw.co.nz/developer/misc/82-general-dev/1203-decrypting-a-saml-encrypted-assertion

  • 问题内容: 我想用于物理计算,因此我需要误差的大小。 问题答案: 如果您在的呼叫中指定,它将包含更多信息: 返回的残差值是拟合误差的平方和,不确定是否是您要得到的结果: 在1.7版中,还有一个关键字将返回系数的协方差矩阵,您可以用它来计算拟合系数本身的不确定性。