Android 以编程方式设置ViewFlipper权重
我希望以编程方式更改ViewFlipper的权重。 我有一个TableRow,其中有两列。当第二列包含ViewFlipper时,第一列包含RelativeLayout元素。 我的ViewFlipper包含2个视图。在我的Java代码中,当我点击一个按钮时,我改变了ViewFlipper的可见视图。我想做的是,当我更改ViewFlipper视图(通过调用showNext())时,能够更改ViewFlipper的权重,以使其在屏幕中更大 换句话说,我行的第一列的权重为1,第二列(ViewFlipper)的权重为0.8。当我点击一个按钮时,我想通过编程更改这些权重。 可能吗?怎样?下面是我的XML代码 我在网上搜索过,找到了以下解决方案:Android 以编程方式设置ViewFlipper权重,android,viewflipper,android-layout-weight,Android,Viewflipper,Android Layout Weight,我希望以编程方式更改ViewFlipper的权重。 我有一个TableRow,其中有两列。当第二列包含ViewFlipper时,第一列包含RelativeLayout元素。 我的ViewFlipper包含2个视图。在我的Java代码中,当我点击一个按钮时,我改变了ViewFlipper的可见视图。我想做的是,当我更改ViewFlipper视图(通过调用showNext())时,能够更改ViewFlipper的权重,以使其在屏幕中更大 换句话说,我行的第一列的权重为1,第二列(ViewFlippe
myFlipper.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 0.3f));
这不起作用,它崩溃了,这是正常的,因为ViewFlipper不是线性布局
以下是我的XML代码:
<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#00000000" >
<RelativeLayout
android:id="@+id/rltest"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_centerInParent="true"
android:paddingLeft="6px"
android:paddingRight="6px"
android:background="#00000000" >
<TextView
android:id="@+id/tvtest"
android:layout_width="match_parent"
android:layout_height="60px"
android:layout_alignParentLeft="true"
android:textColor="#FFFFFF"
android:textSize="22px"
android:singleLine="true"
android:background="#00000000"
android:gravity="center_vertical" />
</RelativeLayout>
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.8"
android:background="#00000000" >
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="60px" />
<LinearLayout
android:id="@+id/lltest"
android:layout_width="match_parent"
android:layout_height="60px"
android:layout_centerInParent="true"
android:background="#00000000"
android:gravity="center" />
</ViewFlipper>
</TableRow>
你知道吗
谢谢我的猜测:你应该使用,而不是
线性布局。布局参数
。但这只是一个猜测,没有看到实际的错误;任何时候,如果您询问有关上崩溃的问题,那么您都应该在日志中包含错误的回溯。您是对的,它适用于TableRow.LayoutParams,非常感谢。我很抱歉忘记了事故日志,我不确定它是否有用。谢谢你,尤尼。