2011-05-12 7 views
0

나는 클릭 가능한 이미지를 만들려고 노력하고 있지만 이미지 위에 클릭 가능한 많은 스폿이 있습니다. 나는 이미지 위에 머물러서 클릭 할 수있는 뷰 그룹을 만드는 것이 최선이라고 생각했습니다.이미지를 보는 방법?

하지만 올바른 위치에 배치하는 데 문제가 있습니다.

누구나 이것을 만드는 방법에 대한 아이디어가 있습니까?

+0

가능한 경우 레이아웃 xml 코드 게시 – FoamyGuy

답변

0

는 대신

imageView.setOnTouchListener(new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) 
    { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) 
    { 
     // event.getX() and event.getY() give you the co-ordinate 
     // of the touch, and from that you can work out which thing 
     // has been touched and so what to do? 
    } 
    } 
}); 

같은 일을 할 수 있나요? z 순서가 더 있도록 XML의 순서에 의해 정의된다

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView android:id="@+id/textView1" android:text="TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView TextView " android:layout_alignParentTop="true" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
    <ImageView android:id="@+id/imageView1" android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true"></ImageView> 
    <ImageView android:id="@+id/imageView2" android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginLeft="10dp"></ImageView> 
    <ImageView android:id="@+id/imageView3" android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginLeft="25dp" android:layout_marginTop="35dp"></ImageView>  
</RelativeLayout> 

참고


멍청한 RelativeLayout의 예에서는, 그 안에 많은 텍스트와 텍스트 뷰 위에 아이콘을 포함하는 세 imageviews를 위치 파일에서 뭔가가 낮 으면 높을수록 화면에 나타납니다.

+0

사실 내가 할 수는 없기 때문에 가능한 한 피하려고했습니다. 이미지와이 방법은 훨씬 더 많은 코드를 생성 할 것이지만, 그렇게 할 필요가 없다면 잘 수행 할 것입니다. 이전에 AbsoluteLayout이 있었기 때문에 물었습니다. 내가 찾고있는 것이 었습니다. – Gust

+0

RelativeLayout을 사용해 보시고, 사물을 이미지와 같은 위/왼쪽으로 정렬 한 다음 패딩/여백을 사용하여 올바른 위치로 옮기시겠습니까? –

+0

(덧글이 명확하지 않은 경우 xml 예제를 원래 답변에 추가했습니다.) –

0

당신이 당신이 찾고있는 무엇을이 질문에 대한 답변처럼 FrameLayout이와 Z 순서로 here

희망을 볼 필요가!

+0

FrameLayout을 사용하려하지만 하나의보기 만 볼 수 있습니다. 다음과 같은 코드를 숨기지 않도록 필독해야합니다. 나는 이것을 tryong합니다 :'pc1.setPadding (100, 100, 0, 0); t.addView (pc2, new TableLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); t.addView (pc1, 새 TableLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ' 지금까지 작동하지 않습니다. – Gust

0

그것에 OnClickListener를 인터페이스를 구현 적용

이미지 뷰의 이미지 뷰 = (이미지 뷰) findViewById를 (R.id.imageView);

imageView.setOnClickListener (새 OnClickListener를()

{음모 무효 온 클릭 (보기는 arg0) {여기

// 코드

} 

});

관련 문제