gpt4 book ai didi

android - getLayoutParams() 没有权重属性 (Android)

转载 作者:行者123 更新时间:2023-11-29 00:17:01 29 4
gpt4 key购买 nike

我试图在我的函数中获取 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(或其派生类之一,例如 TableLayoutTableRow)的一部分,那么您只需将从 layout.getLayoutParams() 返回的值到正确的类型。例如:

float weight = ((LinearLayout.LayoutParams) layout.getLayoutParams()).weight;

您没有确切说明您的 layout View 属于哪种布局类,所以我不能比这更具体了。

关于android - getLayoutParams() 没有权重属性 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829210/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com