Những gì tôi muốn lưu trữ có thể được giải thích tốt nhất với một hình ảnhGiữ vị trí cuộn scrollview cho nội dung động
Hộp màu xám biểu thị màn hình, hộp màu xanh là thông tin meta, hộp tròn màu trắng được một SearchView và các hộp màu đỏ là các mục được trả lại từ tìm kiếm.
Tôi đã làm việc này cho đến nay, nhưng sự cố xảy ra khi người dùng tìm kiếm thứ gì đó và các mục vượt quá màn hình (1). Sau đó người dùng cuộn xuống, vì vậy thông tin meta nằm ngoài màn hình (2). Người dùng hiện có thể vẫn nhập truy vấn tìm kiếm mới và do đó thay đổi các mục. Tuy nhiên, khi truy vấn mới trả về quá ít mục để lấp đầy phần còn lại của màn hình (3) thì ScrollView sẽ "nhảy" trở lại đầu trang (không phải trong ảnh, không mong muốn). Những gì tôi muốn là một hành vi mà SearchView vẫn đặt (3). Khi ở trạng thái này, người dùng có thể cuộn trở lại đầu trang (4). Nếu cô ấy không cô ấy không thể di chuyển trở lại mặc dù, thay vào đó các chỉ số overscroll sẽ hiển thị.
Có thể thấy hành vi tương tự trong Ứng dụng Google+. Từ màn hình bắt đầu, hãy vào hồ sơ của bạn (chạm vào tên của bạn ở trên cùng). Bạn sẽ thấy ba thanh ghi ("Giới thiệu về tôi", "Bài viết", "Ảnh" *). Tôi có ví dụ không có hình ảnh trong đó và hành vi là như mô tả.
chỉnh sửa ScrollView là gốc của Chế độ xem.
chỉnh sửa bố trí cơ bản cấu trúc
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:overScrollMode="always"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<View /> <!-- Meta info -->
<SearchView />
<View /> <!-- Item representing search result -->
<View /> <!-- Item representing search result -->
<View /> <!-- Item representing search result -->
<View /> <!-- Item representing search result -->
<View /> <!-- Item representing search result -->
</LinearLayout>
</ScrollView>
*) Giả dịch từ App Đức.
Vì tôi không quen với cách thực hiện điều này, có lẽ bạn có thể cung cấp một số đoạn trong đó các lớp đang được sử dụng để đạt được hành vi cuộn này mà bạn đang làm việc cho đến nay. Cân nhắc quá trình và cố gắng tìm cách tiếp cận. –
Bạn đã thử sử dụng scrollTo() để di chuyển ScrollView xuống dưới? Không chắc chắn đó là những gì bạn nên sử dụng nhưng nó có thể giúp đỡ. – zgc7009
Nó chỉ là một ScrollView đơn giản xung quanh mọi thứ khác. Không có gì lạ mắt. – Mene