ScrollView中的多个LinearLayout

时间:2015-04-04 04:14:00

标签: java android android-layout scrollview android-linearlayout

我试图在ScrollView中插入多个LinearLayout或FrameLayout(无论..)。

我的结构是:

  • 活动
  • ...... FragmentA
  • ... FragmentB
  • ... FragmentC

activity_layout.xml:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/container_main"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:orientation="horizontal"/>

    <LinearLayout
        android:id="@+id/container_gallery"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:orientation="horizontal"/>

    <LinearLayout
        android:id="@+id/container_video"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        android:orientation="horizontal"/>

</LinearLayout>

我的一个片段就是这个布局:

<android.support.v4.view.ViewPager     xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.arbiec.conex.activities.MainActivity" />

问题!! 我只能看到2个第一片段。

但是当我在我的主布局(活动中的那个)中对LinearLayout的layout_height进行硬编码时,它就可以了!但我不想硬编码,因为我不知道它需要多少空间,它应该是动态的wrap_content。

任何想法?为什么会这样?

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试修改后的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical">

      <FrameLayout
         android:id="@+id/container_main"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@drawable/border"
         />

     <FrameLayout
        android:id="@+id/container_gallery"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        />

     <FrameLayout
        android:id="@+id/container_video"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border"
        />

   </LinearLayout>

</ScrollView>

希望这有帮助!

答案 1 :(得分:0)

试试这段代码......

在Scrollview中设置以下属性

android:fillViewport="true"