此Horizo​​ntalScrollView布局或其LinearLayout父级是无用的

时间:2014-04-08 13:16:28

标签: android android-layout horizontalscrollview

我是android编程的新手我有horizo​​ntalscrollview的问题。我有错误"这个Horizo​​ntalScrollView布局或其LinearLayout父版本是无用的"上

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="lv.myproject.formula.MainFormula"
    tools:ignore="MergeRootFrame"
    android:orientation="vertical">


    <HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp" 
        >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" 
            android:background="@drawable/bgtest">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button1" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button2" />

        </LinearLayout>
    </HorizontalScrollView>

</LinearLayout> 

1 个答案:

答案 0 :(得分:3)

首先,这不是错误,而是警告 - 代码仍然可以正常工作。

现在,正如您所见,您有:

<LinearLayout ...>
    <HorizontalScrollView ...>

    </HorizontalScrollView ...>
</LinearLayout>

LinearLayout中只有一个孩子 - 而且它是另一个ViewGroup - 因此您可以摆脱外部LinearLayout并简单地保留HorizontalScrollView

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="lv.myproject.formula.MainFormula"
    tools:ignore="MergeRootFrame"
    android:layout_marginTop="50dp" >

    ...
</HorizontalScrollView>

但是,如果要向代码中的LinearLayout添加任何视图(即作为HorizontalScrollView的兄弟姐妹),那么正确的做法就是忽略此警告。