Tôi gặp sự cố với Phân đoạn bao gồm ScrollView chứa LinearLayout. Tôi đang cố gắng tạo hiệu ứng trong đó LinearLayout có nền màu trắng và trông giống như một mảnh giấy cuộn trên nền màu. Cách mà tôi đang cố gắng để đạt được điều này là bằng cách có ScrollView chiếm không gian đầy đủ của đoạn và sau đó LinearLayout bên trong có android:layout_margin="16dp"
để tạo không gian xung quanh "giấy". Bằng cách này, thanh cuộn của ScrollView xuất hiện trong khu vực nền màu, lề ở trên cùng cuộn đi cùng với nội dung và lề ở dưới cùng chỉ cuộn trong khi một đến cuối.ScrollView không cuộn đến cuối lề bên dưới của LinearLayout bên trong
Thật không may trong cấu hình này ScrollView sẽ không cuộn tất cả các cách để kết thúc và trong thực tế cắt giảm một số lượng rất nhỏ của văn bản ở phía dưới. Tôi nghi ngờ rằng ScrollView không tính đến lợi nhuận của con mình trong khoảng cách di chuyển dọc của nó. Để giải quyết điều này, tôi đã bọc LinearLayout trong một FrameLayout để giải quyết vấn đề, nhưng có vẻ không cần thiết. Bất kỳ con trỏ nào về cách loại bỏ thùng chứa không cần thiết này sẽ được đánh giá cao.
Lưu ý: thiết lập android:padding="16dp"
trên ScrollView và loại bỏ các lề không có hiệu ứng mong muốn, khi đó phần đệm xuất hiện trên tất cả bốn cạnh liên tục, bất kể vị trí cuộn.
<?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>
Cài đặt cố gắng 'android: layout_height =" fill_parent "' vào 'ScrollView'? –
@AdilSoomro Có, không có niềm vui. Kích thước của ScrollView không thực sự là một vấn đề - nó lấp đầy không gian sẵn có cho nó một cách thích hợp. Đó là khu vực cuộn mà nó cung cấp - nó không cho phép di chuyển đến cuối nội dung của nó khi con ngay lập tức của nó có một lề.Tôi tin rằng vấn đề là do nó không tính đến lợi nhuận của con mình khi tính toán vùng cuộn. –