이전에 쓴글이 뷰플리퍼에 관련된 내용이라는것을 알아 냈습니다!!
하지만 여기서 또 문제가.. 구글링해서 뷰플리퍼 코딩해 놨는데.. 이게 화면이 무한루프가 되네요;
package kr.booknair.pypproto;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ViewFlipper;
public class ActViewFlipper extends Activity {
private ViewFlipper m_viewFlipper;
private int m_nPreTouchPosX = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn_gomain = (Button) findViewById(R.id.flipper_gomain);
btn_gomain.setOnClickListener(mClickListener);
m_viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
m_viewFlipper.setOnTouchListener(MyTouchListener);
}
private Button.OnClickListener mClickListener = new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
int id = v.getId();
if (id == R.id.flipper_gomain) {
intent.setClass(ActViewFlipper.this, MainActivity.class);
}
startActivity(intent);
}
};
private void MoveNextView() {
m_viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.appear_from_right));
m_viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.disappear_to_left));
m_viewFlipper.showNext();
}
private void MovewPreviousView() {
m_viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.appear_from_left));
m_viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.disappear_to_right));
m_viewFlipper.showPrevious();
}
View.OnTouchListener MyTouchListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
m_nPreTouchPosX = (int) event.getX();
}
if (event.getAction() == MotionEvent.ACTION_UP) {
int nTouchPosX = (int) event.getX();
if (nTouchPosX < m_nPreTouchPosX) {
MoveNextView();
} else if (nTouchPosX > m_nPreTouchPosX) {
MovewPreviousView();
}
m_nPreTouchPosX = nTouchPosX;
}
return true;
}
};
}
이런식으로 코딩을 해 놨는데.. 무한루프돌지 않고 끝내기 위해서는 어떻게 해야하나요??
고수님들의 고언 말씀 부탁드립니다..
아, 그리고 혹시 뷰플리퍼가 좌우가 아닌 상하로도 설정할 수 있을까요??
맨땅에 헤딩중인.. 중생을 구원해 주시길;;
짧은 조언, 관심 미리 감사드립니다