У меня проблемы с фрагментом, состоящим из ScrollView, содержащего LinearLayout. Я пытаюсь создать эффект, при котором LinearLayout имеет белый фон и выглядит как лист бумаги, прокручивающийся на цветном фоне. Я пытаюсь добиться этого, заставляя ScrollView занимать все пространство фрагмента, а затем LinearLayout внутри имеет android:layout_margin="16dp"
для создания пространства вокруг «бумаги».
Таким образом, полоса прокрутки ScrollView появляется в области цветного фона, верхнее поле прокручивается вместе с содержимым, а нижнее поле прокручивается только по достижении конца.
К сожалению, в этой конфигурации ScrollView не прокручивается до конца и фактически обрезает очень небольшое количество текста внизу. Я подозреваю, что ScrollView не учитывает поля своего дочернего элемента в вертикальном расстоянии прокрутки. Чтобы решить эту проблему, я завернул LinearLayout в FrameLayout, что решает проблему, но кажется излишним. Любые указатели на то, как устранить этот ненужный контейнер, будут оценены.
Примечание: установка android:padding="16dp"
в ScrollView и удаление полей не дает желаемого эффекта, так как отступы постоянно появляются на всех четырех краях, независимо от положения прокрутки.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:context=".ArticleFragment" >
<!-- This FrameLayout exists purely to force the outer ScrollView to respect
the margins of the LinearLayout -->
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:layout_margin="16dp"
android:background="@color/page_background" >
<TextView
android:id="@+id/article_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textIsSelectable="true" />
<TextView
android:id="@+id/article_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true" />
</LinearLayout>
</FrameLayout>
</ScrollView>
android:layout_height="fill_parent"
наScrollView
? - person Adil Soomro   schedule 08.05.2013