2012-12-17 35 views
10

tôi muốn hiển thị một số phần của hình ảnh.như một cuốn truyện tranh.i có một hình ảnh như thế này.Làm thế nào để bật lên một số hình ảnh một phần trong android

this is actual image.

khi tôi nhấp vào hình ảnh một phần hiển thị như thế này.

Second image when click this part of image.

tôi muốn hiển thị loại này. trong quá trình này tôi tạo ra một số tập tin zip phù thủy chứa một phần của hình ảnh của hình ảnh chính. tôi thực hiện để hiển thị mọi chuỗi hình ảnh một cách khôn ngoan. Nhưng vấn đề của tôi là làm thế nào để có được hình ảnh của bất kỳ phần nào nhấp chuột và hiển thị nó trong màn hình thứ hai?

tôi không thể lấy id phần hình ảnh. để biết cách lấy phần này của id hình ảnh.

vì vậy hãy giúp tôi. tôi bị kẹt.

+0

Cùng giống như cách nhấn trên hình ảnh facebook, nó sẽ bật lên hình ảnh đầy đủ trong màn hình mới. –

+0

@PareshMayani nhưng làm thế nào để quản lý click phù thủy là doen.it là mỗi hình ảnh singal không tôi kết hợp như thế này. –

Trả lời

0

bạn có thể thực hiện một thủ thuật cho vấn đề này.

Đặt nút (có nền trong suốt) bên trong bố trí.

Đặt OnclickListener của các nút để Hiển thị PopUps mà bạn muốn bên trong hoạt động của lớp học.

bạn cũng có thể quản lý nút Nhấp vào sự kiện bằng tính năng hiển thị/ẩn đối với theo yêu cầu của bạn.

Edited

xml của bạn sẽ trông giống như như dưới đây.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/YOUR_IMAGE" > 

    <Button 
     android:id="@+id/btn_invisible" 
     android:layout_width="85dp" 
     android:layout_height="30dp" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="18dp" 
     android:background="@android:color/transparent" /> 

</RelativeLayout> 

và phương thức OnCreate() trong lớp hoạt động của bạn.

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 

    setContentView(R.layout.help_1); 
    btn_invisible = (Button) findViewById(R.id.btn_invisible); 
    btn_invisible.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

    if (v == btn_invisible) { 
     //Whatever Code you want to Use for Show Popups 

    } 

Tôi không chắc chắn nhưng bạn có thể dùng thử một lần.

+0

nhưng nhìn thấy hình ảnh nó giống như khác nhau và làm thế nào để thiết lập các nút hình ảnh ngẫu nhiên? Tôi biết để tạo ra một bố trí dyanamic nhưng làm thế nào để lưu trữ nút này dưới đây thực tế một phần của hình ảnh. –

+0

tôi đã chỉnh sửa câu trả lời của mình với mô tả mã. cho tôi biết nếu điều này giúp bạn. –

+0

tôi nghĩ rằng đó là một số ý tưởng tôi cố gắng sau đó cung cấp cho u phản ứng thân yêu. –

1

Nếu bạn có lưu trữ với các phần của hình ảnh chính, điều đó có nghĩa là bạn đã tạo chúng theo cách thủ công, phải không? Vì vậy, trình xem sách truyện tranh của bạn sẽ chỉ áp dụng cho nội dung được tạo theo cách thủ công.

Đó là sự thật, do đó, không có sự cố khi tạo một số loại tệp cấu hình (ví dụ: tệp xml hoặc Properties) sẽ chứa kích thước và vị trí cho từng phần.

Sau đó, bạn có thể xử lý MotionEvent và phát hiện id một phần theo tọa độ từ cấu hình.

Bạn cũng có thể cải thiện ứng dụng của mình bằng cách cắt hình ảnh trực tuyến. Nó không khó.

Ví dụ:

Hình ảnh của bạn tại đây (page1.png):

-------------------------------- 
|     |   | 
|     |   | 
|     |  2  | 
|  1  |   | 
|     |   | 
|     |------------| 
|     |   | 
|-----------------|   | 
|     |  4  | 
|     |   | 
|     |   | 
|     |------------| 
|  3  |   | 
|     |   | 
|     |  5  | 
|     |   | 
|     |   | 
-------------------------------- 

cấu hình đơn giản của bạn (page1.cfg):

# Parts description 
# id=x,y;w,h 
1=0,0;18,9 
2=19,0;13,7 
3=0,10;18,11 
4=19,8;13,7 
5=19,15;13,6 

zip của bạn:

page1.png 
page1-1.png 
page1-2.png 
page1-3.png 
page1-4.png 
page1-5.png 
page1.cfg 
... 
+0

Cảm ơn bạn đã trả lời nhưng làm thế nào để quản lý toàn bộ cuốn sách, nó không chỉ là trang đơn thuần mà còn là một cuốn sách. Vậy làm thế nào tôi có thể phát hiện ra điều này. –

+0

Bạn có thể phát hiện các phần của trang đang bay. Có rất nhiều thuật toán. Lúc đầu, bạn nên phát hiện nền của bạn. Sau đó bạn có thể phát hiện ngăn dọc và ngang trên trang của bạn, sử dụng chẩn đoán. –

+0

Tôi nghĩ rằng trích xuất các cạnh và các bộ phận là nhiệm vụ riêng biệt. Và đây là nhiệm vụ quá phức tạp. Trên thực tế, bạn không cần phải cắt trang của mình. Bạn có thể phát hiện các điểm chính và sử dụng chúng như là bù đắp. Vì vậy, trường hợp Bitmap của bạn sẽ là duy nhất và bạn sẽ di chuyển chúng bằng cách bù đắp. –

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