2012-12-17 3 views
10

나는 이미지의 일부분을 표시하고 싶습니다. 만화책처럼 .i 이런 이미지가 하나 있습니다. android에서 일부 이미지를 팝업하는 방법

this is actual image.

내가 이미지에이 같은 일부 표시를 클릭

.

Second image when click this part of image.

내가이 유형을 표시합니다. 이 과정에서 나는 메인 이미지의 이미지의 일부를 포함하는 일부 zip 파일 마녀를 만듭니다. 나는 모든 이미지 시퀀스 wise.but 내 문제는 실제 이미지의 어떤 부분을 클릭하고 두 번째 화면처럼 이것을 표시하는 방법입니다 표시 했나요?

이미지 부품 ID를 가져올 수 없습니다. 이미지 ID의이 부분을 얻는 방법.

제발 도와주세요. 나는 붙어있다.

+0

동일페이스 북 이미지에 새 이미지가 표시됩니다. –

+0

@PareshMayani하지만 마녀의 클릭을 관리하는 방법은 doen.it는 내가 결합하지 않은 모든 단일 이미지입니다. –

답변

0

이 문제에 대해 하나의 트릭을 수행 할 수 있습니다.

레이아웃 내부에 버튼 설정 (배경은 투명).

단추의 OnClickListener를 설정하여 클래스 활동 내에 으로하려는 PopUps를 표시하십시오.

귀하의 요구 사항에 따라 에 표시/비공개 기능으로 이벤트 클릭 버튼을 관리 할 수도 있습니다.

편집

당신의 XML은 다음과 같이 표시됩니다.

<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> 

및 OnCreate() 내 활동 클래스 방법.

@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 

    } 

확실하지 않지만 한 번 사용해 볼 수 있습니다.

+0

하지만 이미지가 다른 것 같고 이미지 버튼을 임의로 설정하는 방법을 알고 있습니까? 다이나믹 레이아웃을 만드는 방법을 알고 있지만이 버튼을 이미지의 실제 부분 아래에 저장하는 방법을 알고 있습니다. –

+0

나는 코드에 대한 설명으로 나의 대답을 편집했다. 이게 도움이되는지 알려주세요. –

+0

나는 그것이 내 생각에 그때 대답하려고 애쓰는 어떤 생각이라고 생각한다. –

1

메인 이미지의 일부분을 보관하는 경우 수동으로 만들었습니다. 그렇습니까? 그래서 만화책 뷰어는 수동으로 만든 콘텐츠에만 적용됩니다.

사실입니다. 따라서 각 부품의 크기와 위치를 포함하는 일종의 구성 파일 (예 : xml 기반 또는 Properties 파일)을 만드는 데 문제가 없습니다.

그런 다음 MotionEvent을 처리하고 config의 좌표로 부품의 ID를 감지 할 수 있습니다.

또한 온 - 플라이 이미지를 절단하여 응용 프로그램을 향상시킬 수 있습니다. 그것은 어렵지 않습니다.

예 :

여기에 귀하의 이미지 (page1.png) :

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

귀하의 간단한 설정 (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 

우편 : 클릭과 같은

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

답변을 주셔서 감사합니다.하지만 전체 책을 관리하는 방법은 단 하나의 책이 아닙니다. 책 하나뿐입니다. 어떻게 감지 할 수 있습니까? –

+0

날고있는 페이지의 일부를 감지 할 수 있습니다. 많은 알고리즘이 있습니다. 처음에는 배경을 찾아야합니다. 그런 다음 휴리스틱을 사용하여 페이지의 세로 및 가로 구분선을 감지 할 수 있습니다. –

+0

나는 가장자리와 부분을 추출하는 것이 분리 된 작업이라고 생각한다. 그리고 이것은 너무 복잡한 작업입니다. 사실, 당신은 당신의 페이지를자를 필요가 없습니다. 주요 점을 감지하여이를 오프셋으로 사용할 수 있습니다. 따라서 Bitmap 인스턴스는 단일 인스턴스가되고 오프셋을 통해 이동합니다. –

관련 문제