2012-06-27 40 views
6

Tôi muốn tạo bố cục thẻ với các thẻ có bố cục ListView bên trong một HorizontalScrollableView có thể cuộn thẻ theo chiều ngang. Mọi thứ đều hoạt động nhưng tôi gặp vấn đề với việc cuộn. Tôi có thể cuộn danh sách xem theo chiều dọc nếu tôi không cuộn thẻ theo chiều ngang và ngược lại.Sử dụng bố cục ScrollViews vào HorizontalScrollView

Đây là container chính:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <HorizontalScrollView 
     android:id="@+id/listview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#ddd" > 

     <LinearLayout 
      android:id="@+id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" android:orientation="horizontal" > 
     </LinearLayout> 
    </HorizontalScrollView> 



</RelativeLayout> 

tôi thổi phồng và thêm các mục listview để bố trí tuyến tính. Tôi muốn cho phép cuộn dọc và ngang mượt mà mà không có các loại giới hạn này (di chuyển ngang và dọc đồng thời).

Tôi làm cách nào để đạt được điều này?

+0

Vì vậy, bạn muốn di chuyển toàn bộ listview theo chiều ngang hoặc chỉ các hàng trong listview ?? –

+0

Tôi muốn cuộn danh sách theo chiều dọc và các thẻ chứa danh sách theo chiều ngang. Tôi có thể làm điều đó nhưng tôi không thể di chuyển mô phỏng vì vậy rất khó để đạt được kết quả tốt – Matroska

+0

Ý bạn là, bạn muốn có cử chỉ chéo để di chuyển đồng thời cả vùng chứa và chế độ xem danh sách - như, di chuyển ngón tay lên và sang phải và cuộn scrollview quyền và listview cuộn lên cùng một lúc? –

Trả lời

0

Tôi khuyên bạn nên sử dụng chế độ horiziontallayout làm chế độ xem gốc bạn quay lại trong getView() trong bộ điều hợp của bạn. Bằng cách đó, mỗi hàng sẽ tách rời nhau. Nếu điều đó không hoạt động ngay lập tức, bạn có thể phải setItemsCanFocus (true) cho các hàng của bạn để cung cấp đầu vào cho horizontalscrollview của bạn.

+0

không, nhưng vấn đề là tôi không muốn cuộn theo chiều ngang các phần tử listview nhưng các thẻ vì chúng rất nhiều và tôi muốn xem tất cả chúng.Vì vậy, nếu [và] đại diện cho kích thước màn hình và | là một thẻ/listview, đây là những gì tôi có: [| | | |] | | | | vì vậy cuộn ngang là để xem thẻ. – Matroska

1

Tôi khuyên bạn nên dùng ViewFlipper để cung cấp hiệu ứng cuộn theo chiều ngang. Sau đó thêm ListView vào flipper như một đứa trẻ. Sử dụng cử chỉ để di chuyển nó sang phải và trái.

Chế độ xem danh sách sẽ vẫn cuộn theo chiều dọc và nếu bạn không thể đặt OnItemClickListener thành ListView thì bạn có thể sử dụng phương thức Cử chỉ đơn lẻ.

ListView inside View flipper discussion 1ListView inside View Flipper Discussio 2

+0

giao diện sẽ thay đổi rất nhiều theo cách này ... – Matroska

+0

Giao diện sẽ thay đổi nhưng bạn có thể tùy chỉnh bằng cách nào đó – Sameer

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