3

我的 Main Activity 使用了一个 LinearLayout,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    tools:context=".MainActivity" >

    <LinearLayout 
        android:id="@+id/activity_main_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:orientation="vertical" >
    </LinearLayout>

</LinearLayout>

我在activity_main_container中动态添加片段,但问题是,当我的片段高度大于屏幕高度时,底部的内容会被隐藏。我无法滚动或做任何事情。

我尝试将片段的布局包装在ScrollView中,但它对我不起作用,因为我的片段中有列表视图。我还尝试将布局高度设置为每个容器上的 3000dp,但它也不起作用。

我动态添加的片段示例布局如下所示。我也在我的片段中动态添加内容。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/fragment_listing_detail_linearLayout_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFF"
        android:orientation="vertical"
        android:paddingLeft="@dimen/fragment_padding_side"
        android:paddingRight="@dimen/fragment_padding_side" >

        <TextView
            android:id="@+id/fragment_listing_detail_textview_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Review Title"
            android:textSize="20sp"
            android:textStyle="bold" />

        <RatingBar
            android:id="@+id/fragment_listing_detail_ratingbar_rating"
            style="@style/customRatingBarSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="5"
            android:stepSize="0.5"
            android:isIndicator="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Photos" />

        <View style="@style/divider" />         

        <HorizontalScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:paddingBottom="10dp" >

            <LinearLayout
                android:id="@+id/fragment_listing_detail_linearlayout_images"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

            </LinearLayout>
        </HorizontalScrollView>

        <TextView
            android:id="@+id/fragment_listing_detail_textview_review"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Reviews" />

        <View style="@style/divider" />         

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

            <ImageView
                android:layout_width="match_parent"
                android:paddingTop ="7dp"
                android:paddingBottom="7dp"
                android:layout_height="wrap_content"
                android:contentDescription="review divisor"
                android:src="@android:drawable/divider_horizontal_bright" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/fragment_listing_detail_reviews_fragment_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
        </LinearLayout>

       <Button
            android:id="@+id/fragment_listing_detail_button_add_review"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add Review" />

       <ImageView
           android:id="@+id/fragment_listing_detail_imageview_testimage"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content" />

    </LinearLayout> 

如何做到这一点,以便当我的片段超出屏幕高度时,我仍然可以滚动查看底部视图?谢谢。

4

1 回答 1

6

我相信你会希望ScrollView成为 root View。试试这个尺寸:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 tools:context=".MainActivity"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:fillViewPort="true" >

<!-- ScrollViews can only have 1 child View, so the 1st LinearLayout below
     will be the "container" -->

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

<!-- This is where you want to put everything scrollable -->

</LinearLayout>
</ScrollView>

我希望这会有所帮助,快乐编码!

于 2013-09-17T02:10:50.630 回答