作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在我的函数中获取 android:layout_weight
。这是我的 xml 代码:
<LinearLayout
android:id="@+id/myID"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="14"
android:clickable="true"
android:orientation="horizontal">
......
</LinearLayout>
我的功能部分:
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableLayout.LayoutParams;
....
LinearLayout layout = (LinearLayout) findViewById(R.id.myID);
但是当我尝试调用 layout.getLayoutParams()
时,没有 weight
变量,只有 width, heigth, ...这是因为导入的包还是为什么 getLayoutParams()
没有权重?
这和这里是同一个问题,但他也解决不了:How do I get the `layout_weight` of a TextView?
最佳答案
View 中使用的布局参数的实际类型取决于它所在的容器类型。并非所有布局参数类型都有 weight
字段。如果您的布局是另一个 LinearLayout
(或其派生类之一,例如 TableLayout
或 TableRow
)的一部分,那么您只需将从 layout.getLayoutParams()
返回的值到正确的类型。例如:
float weight = ((LinearLayout.LayoutParams) layout.getLayoutParams()).weight;
您没有确切说明您的 layout
View 属于哪种布局类,所以我不能比这更具体了。
关于android - getLayoutParams() 没有权重属性 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829210/
我是一名优秀的程序员,十分优秀!