这里我展示了我的应用程序的xml布局。我希望使用Scrollview滚动整个页面。但是我无法使用.ScrollView只支持一个直接的child.But我想滚动整个内容。请帮助我解决这个问题?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" android:layout_width="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/prev"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="left"
android:background="@null"
android:src="@drawable/left_white" />
<EditText
android:layout_width="185dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="25dp"
android:hint=""
android:visibility="invisible"
/>
<ImageButton
android:id="@+id/tour"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_marginLeft="17dp"
android:background="@null"
android:src="@drawable/logo" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="What interests you?"
android:textSize="20dp" >
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="fill_horizontal"
android:orientation="horizontal"
>
<com.android.example.CoverFlow
android:id="@+id/coverFlow"
android:layout_width="match_parent"
android:layout_height="150dip"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="17dp"
>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#b5b5b5"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
将Scroll视图放在主LinearLayout之前。
<LinearLayout>
<ScrollView>
<LinearLayout>
// This Linear Layout contains your entire layout code
</LinearLayout>
</Scrollview>
</LinearLayout>
答案 1 :(得分:1)
你可以这样做
<your main layout>
<ScrollView>
<LinearLayout>
your whole layout code here
</LinearLayout>
</Scrollview>
</your main layout>
答案 2 :(得分:0)
同意。它只支持一个孩子。但是,如果您希望上述xml文件可滚动,请将主要的Linearlayout放在scrollView标记内。主要的LinearLayout将被视为ScrollView的单个子项。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" android:layout_width="match_parent"
android:orientation="vertical"
>
<LinearLayout
android:layout_height="match_parent" android:layout_width="match_parent"
android:orientation="vertical"
>
...
</ScrollView>
答案 3 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical" >
<!-- add your entire layout here -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent" android:layout_width="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/prev"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="left"
android:background="@null"
android:src="@drawable/left_white" />
<EditText
android:layout_width="185dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="25dp"
android:hint=""
android:visibility="invisible"
/>
<ImageButton
android:id="@+id/tour"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="right"
android:layout_marginLeft="17dp"
android:background="@null"
android:src="@drawable/logo" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="What interests you?"
android:textSize="20dp" >
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="fill_horizontal"
android:orientation="horizontal"
>
<com.android.example.CoverFlow
android:id="@+id/coverFlow"
android:layout_width="match_parent"
android:layout_height="150dip"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="17dp"
>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#b5b5b5"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 4 :(得分:0)
您无法在ScrollView中使用ListView。我们很多人都遇到了这个问题。所以这是这个问题的解决方案:
最后,从您的主类中获取ListView引用并添加列表页眉和页脚。希望这会奏效。如果您有任何问题,请确保您的评论。