我试图在我的函数中获得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
变量,只有宽度,高度,......
这是因为导入的包裹还是为什么getLayoutParams()
没有重量?
这与此处的问题相同,但他也无法解决问题:How do I get the `layout_weight` of a TextView?
答案 0 :(得分:2)
视图中使用的布局参数的实际类型取决于它所在的容器类型。并非所有布局参数类型都具有weight
字段。如果您的布局是另一个LinearLayout
(或其某个派生类,例如TableLayout
或TableRow
)的一部分,那么您只需要转换从layout.getLayoutParams()
返回的值到正确的类型。例如:
float weight = ((LinearLayout.LayoutParams) layout.getLayoutParams()).weight;
您没有确切地说明layout
视图所处的布局类别,所以我不能比这更具体。