안드로이드 개발 질문/답변
(글 수 45,052)
문제는... 플리퍼안에 버튼들을 꽉채워 넣어놨더니... 플리퍼영역이 버튼들에 덮여서.. 버튼 클릭이벤트만 먹고있습니다..
이해가 안가실수도 있으니 디자인파일과 소스코드를 보여드리겠습니다 // 플리퍼 이벤트
@Override
public boolean onTouch(View v, MotionEvent event) {
v.onTouchEvent(event);
if (v == flipper) {
}
if (event.getAction() == MotionEvent.ACTION_DOWN) {
xAtDown = event.getX(); // 터치 시작지점 x좌표 저장
Log.d("IIIII", "start = "+xAtDown);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
xAtUp = event.getX(); // 터치 끝난지점 x좌표 저장
Log.d("IIIII", "end = "+xAtUp);
if (xAtUp < xAtDown) {
// 왼쪽 방향 에니메이션 지정
flipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_in));
flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_out));
// 다음 view 보여줌
flipper.showNext();
} else if (xAtUp > xAtDown) {
// 오른쪽 방향 에니메이션 지정
flipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_right_in));
flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_right_out));
// 전 view 보여줌
flipper.showPrevious();
}
}
return true;
}
// //////////////////////////////////////////////////////////////////////////////
XML파일
<ViewFlipper
android:id="@+id/viewflipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:flipInterval="1000" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/blogtext1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:clickable="true"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<TextView
android:id="@+id/blogtext2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<TextView
android:id="@+id/blogtext3"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<TextView
android:id="@+id/blogtext4"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<TextView
android:id="@+id/blogtext5"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/blogtext6"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext7"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext8"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext9"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext10"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/blogtext11"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext12"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext13"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext14"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
<Button
android:id="@+id/blogtext15"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darkgray"
android:gravity="center|left"
android:singleLine="true"
android:text="TextView"
android:textColor="@color/white" />
</LinearLayout>
</ViewFlipper>
드래그시에는 플립기능이 먹고, 클릭시엔 버튼클릭이벤트가 먹게할순없나요...ㅜㅜ




버튼에 제스쳐 디텍터를 달아서 해결해 보세요.
하지만 뷰페이저를 사용하는게 더 좋을 것 같네요.