3

次のように、メイン アクティビティで使用される 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>

これがお役に立てば幸いです、Happy Coding!

于 2013-09-17T02:10:50.630 に答える