Android多个页面滑动视图实现(四)

2014-11-24 13:19:09 · 作者: · 浏览: 12
chState != TOUCH_STATE_REST)) {
return true;
}

final float x = ev.getX();
final float y = ev.getY();

switch (action) {
case MotionEvent.ACTION_MOVE:
final int xDiff = (int)Math.abs(mLastMotionX-x);
if (xDiff>mTouchSlop) {
mTouchState = TOUCH_STATE_SCROLLING;

}
break;

case MotionEvent.ACTION_DOWN:
mLastMotionX = x;
mLastMotionY = y;
mTouchState = mScroller.isFinished() TOUCH_STATE_REST : TOUCH_STATE_SCROLLING;
break;

case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
mTouchState = TOUCH_STATE_REST;
break;
}

return mTouchState != TOUCH_STATE_REST;
}

}




Main.java :


package com.xxx;


import com.ex84.ScrollLayout.OnScreenChangedListener;


import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.widget.ImageView;
import android.widget.TextView;


public class MainActivity extends Activity implements OnScreenChangedListener {
private ImageView mImageView;
private TextView mTextView;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ScrollLayout scrollLayout = (ScrollLayout) findViewById(R.id.ScrollLayoutID);
int curScreen = scrollLayout.getCurScreen();


scrollLayout.setOnScreenChangedListener(this);
mImageView = (ImageView) findViewById(R.id.imageView1);

mTextView = (TextView) findViewById(R.id.textView_header);
}


@Override
public void onScreenChanged(ScrollLayout sc, int whichScreen) {

switch (whichScreen) {
case 0:
mImageView.setImageResource(R.drawable.btn_star_0);
mTextView.setText("left page");
break;
case 1:
mTextView.setText("center page");
mImageView.setImageResource(R.drawable.btn_star_1);
break;
case 2:
mTextView.setText("right page");
mImageView.setImageResource(R.drawable.btn_star_2);
break;
}
}


}