Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.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 ScrollView下LinearLayout的getLayoutParams不工作_Android_Layoutparams - Fatal编程技术网

Android ScrollView下LinearLayout的getLayoutParams不工作

Android ScrollView下LinearLayout的getLayoutParams不工作,android,layoutparams,Android,Layoutparams,我有一个LinearLayout,我以前使用getLayoutParams控制这个布局的高度,它工作得很好。现在我希望布局是可滚动的,所以我把它放在滚动视图下。现在由于某种原因,getLayoutParams停止工作。我试图解决这个问题,似乎走到了死胡同。请帮忙 这是我的密码 if(subHistories.getLayoutParams().height==0) (subHistories.getLayoutParams()).heigh

我有一个LinearLayout,我以前使用getLayoutParams控制这个布局的高度,它工作得很好。现在我希望布局是可滚动的,所以我把它放在滚动视图下。现在由于某种原因,getLayoutParams停止工作。我试图解决这个问题,似乎走到了死胡同。请帮忙

这是我的密码

            if(subHistories.getLayoutParams().height==0)
                (subHistories.getLayoutParams()).height=ViewGroup.LayoutParams.WRAP_CONTENT;
            else
                (subHistories.getLayoutParams()).height=0;
这里,subHistories是我想要控制其高度的布局对象。我希望它在每个onClick事件中将其高度从零切换到包装内容

下面是相关的xml代码:

...<ScrollView
    android:id="@+id/left"
    android:layout_width="200dp"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_below="@id/head"
    android:animateLayoutChanges="true">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/historyBut"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:background="#5261a5"
            android:paddingBottom="5dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:paddingTop="5dp"
            android:text="Historical Places"
            android:textAllCaps="false"
            android:textSize="20sp"
            android:typeface="normal" />

        <!-- historical places category -->
        <LinearLayout
            android:id="@+id/histories"
            android:layout_marginLeft="10dp"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:orientation="vertical"
            android:animateLayoutChanges="true" >...
。。。
...

触摸布局参数后,调用
requestLayout()
使更改生效


隐藏/显示布局,考虑使用<代码> StVistiBIILITY()/<代码> <代码> WOR/<代码>和<代码>可见。

<代码> >滚动视图> /代码> WrAPX内容是什么高度字段。那怎么办?换成“填充家长”还是不起作用。它停止了我遇到的一个错误。请检查ScrollView是否是xml的根视图。我将尝试一下。我不使用GONE,因为它仍然为布局保留空间。这是一个可折叠的菜单。隐形可以做到这一点,消失不占空间。它工作!非常感谢你。你能告诉我为什么它在ScrollView之前没有requestLayout,而在ScrollView之后就停止了吗?要么是因为有一个等待的布局传递,要么是因为你安排了一次重新发布。我明白了。再次谢谢你,你帮我省了很多麻烦。