Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 以编程方式设置ViewFlipper权重_Android_Viewflipper_Android Layout Weight - Fatal编程技术网

Android 以编程方式设置ViewFlipper权重

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

我希望以编程方式更改ViewFlipper的权重。 我有一个TableRow,其中有两列。当第二列包含ViewFlipper时,第一列包含RelativeLayout元素。 我的ViewFlipper包含2个视图。在我的Java代码中,当我点击一个按钮时,我改变了ViewFlipper的可见视图。我想做的是,当我更改ViewFlipper视图(通过调用showNext())时,能够更改ViewFlipper的权重,以使其在屏幕中更大

换句话说,我行的第一列的权重为1,第二列(ViewFlipper)的权重为0.8。当我点击一个按钮时,我想通过编程更改这些权重。 可能吗?怎样?下面是我的XML代码

我在网上搜索过,找到了以下解决方案:

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,非常感谢。我很抱歉忘记了事故日志,我不确定它是否有用。谢谢你,尤尼。