2012-06-27 41 views
5

Tôi có một bố trí scrollview như thế này, ví dụ:Android ScrollView cách giữ thành phần trên màn hình khi nó cuộn lên đầu màn hình?

<ScrollView> 
    <Component1> 
    <Component2> 
    <Component3> 
    <Component4> 
    ... 
</ScrollView> 

Bên scrollview Tôi có một số thành phần, mỗi người trong số họ có thể được bất cứ điều gì như LinearLayout, RelativeLayout, TableRow, ... Bây giờ những gì tôi muốn là tôi sẽ cuộn chế độ xem, khi số <Component2> đạt đến đầu màn hình, nó sẽ được giữ trên màn hình và <Component3>, <Component4> ... sẽ tiếp tục cuộn đến cuối trang. Khi tôi cuộn xuống, <Component2> sẽ chỉ được cuộn khi tất cả các <Component3> đã trở thành hiển thị. Tôi thấy điều này trên một ứng dụng Iphone và tự hỏi làm thế nào để đạt được điều này trên Android.

Tôi không biết nếu tôi mô tả rõ ràng đủ nhưng nó là tương tự như video này

http://www.youtube.com/watch?v=jXCrM1rzLZY&feature=player_detailpage#t=71s

Khi các tab cuộn lên đầu trang, nó ở lại đó. Và khi được cuộn xuống như trong 1:36 của video đó, video sẽ ở đó cho đến khi tất cả nội dung bên dưới đã hiển thị trên màn hình.

Có ai biết cách thực hiện điều này trên Android không?

+0

điều gì đó giống như hoạt động trên trang chủ instagram –

Trả lời

3

Tôi đoán bạn có thể tạo bản sao ẩn của Component2 trong RelativeLayout được setVisible (true) khi tọa độ của Component2 thấp hơn (Android draws từ trên) so với đầu ScrollView. Khi tọa độ của Component2 cao hơn đỉnh của ScrollView (.getTop()), Component2Copy.setVisible (false).

Bạn cũng có thể vô hiệu hóa chúng khi thay đổi chế độ hiển thị của chúng. Chúc may mắn với điều này.

+0

Cảm ơn bạn. Không chắc chắn nếu nó hoạt động hay không nhưng tôi sẽ cố gắng này. – user1417127

+0

Tôi đã làm điều đó. Câu trả lời của bạn cho tôi một số ý tưởng và tôi đã hoàn thành nó. Cảm ơn – user1417127

Các vấn đề liên quan