2012-04-15 34 views
15

Làm thế nào để tạo ra một kệ như xem trong Android cho thấy một số cuốn sách trong bất kỳ hàng nào? Ngoài ra, nó cần phải có các tính năng ngang và dọc như ứng dụng mặt trăng + đầu đọc có.Cách tạo giá như chế độ xem trong Android?

Tôi có thể viết chế độ xem giá để di chuyển theo chiều ngang nhưng không hoạt động hoàn toàn. Tôi đã sử dụng tệp xml cho các mục xem bao gồm hình ảnh, văn bản và nút. Tôi đã viết một lớp mở rộng AdapterView để tạo một ListView tùy chỉnh mà tôi gọi là "shelf view". Thật không may, chương trình của tôi hiển thị một hàng và tôi không thể sử dụng nó cho một vài hàng.

enter image description here

+1

Bạn có thể cho chúng ta thấy những gì bạn đã đạt được cho đến nay? –

+0

Có lời nguyền, tôi đã từng sử dụng tệp xml để xem các mục có hình ảnh, văn bản và phần mông. Tôi đã viết một lớp mở rộng AdaptorView để tạo một listview tùy chỉnh mà tôi gọi nó là: "view view". Thật không may, chương trình của tôi hiển thị một hàng và tôi không thể sử dụng nó cho một vài hàng. Bạn đã hiểu chưa? – azad

Trả lời

20

Lần cập nhật cuối: Bây giờ, tôi có thể phát hiện một phương pháp mới để tạo ra thời hạn sử dụng xem tốt hơn so với các giải pháp trước đây. Tôi đã mô tả nó trong CodeProject

Đến Way, Trong ứng dụng này, tôi sử dụng hai lớp:

  • HorizontalListView Class kéo dài AdapterView. Nó được tải xuống từ GitHub

  • Thư viện quaere sử dụng gần như giống với Linq2Object trong .Net. Bạn có thể tải xuống here.


22 Tháng 4 '12:

Có một số cách để thực hiện tầm nhìn kệ rằng nó có hai tính năng (ngang & dọc cuộn). Tôi cố gắng viết một chương trình có thể chạy tự động. Ứng dụng mẫu này có tệp XML và lớp hiển thị showShelfView java.

Vì vậy, bạn có thể thấy ứng dụng của tôi:

tập tin XML chính: Thứ nhất, Thêm đoạn mã sau vào main.xml

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/sclView"> 
    <TableLayout 
      android:id="@+id/tblLayout" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="0dp"> 
    </TableLayout> 
</ScrollView> 

showShelfView Class: Nội TableLayout thêm nhiều HorizontalScroll bằng với số hàng. Ngoài ra bên trong bất kỳ TableRow thêm hình ảnh.

Đừng quên thiết lập một hình ảnh kệ cho nền Row:

enter image description here

public class showShelfView extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


     int numRow = 4; 
     int numCol = 8; 

     TableLayout tblLayout = (TableLayout) findViewById(R.id.tblLayout); 

     for(int i = 0; i < numRow; i++) { 
      HorizontalScrollView HSV = new HorizontalScrollView(this); 
      HSV.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

      TableRow tblRow = new TableRow(this); 
      tblRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
      tblRow.setBackgroundResource(R.drawable.bookshelf); 

      for(int j = 0; j < numCol; j++) { 
      ImageView imageView = new ImageView(this); 
       imageView.setImageResource(R.drawable.book1); 

       TextView textView = new TextView(this); 
       textView.setText("Java Tester"); 
       textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

       tblRow.addView(imageView,j); 
      } 

      HSV.addView(tblRow); 
      tblLayout.addView(HSV, i); 
     } 
    } 

} 
+0

+1 Rất hữu ích. – Praveenkumar

+1

niềm vui của tôi ;-) –

+0

@omidnaz tôi không thể tìm thấy Thư viện Quaere trên liên kết được chỉ định và tôi tìm kiếm nó ở khắp mọi nơi nhưng vẫn không phải là vây .... bạn có thể vui lòng cho tôi biết nơi tôi có thể nhận thư viện này không .. .. –

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