Android自实现activity之间切换,view随手指移动

实现手指滑动切换activity,带动画,view会随手指的位置切换,有动画。

public class SecondActivity extends BaseActivity implements ScrollXListener {

	private int height = 0, width = 0;
	private Window window;
	private WindowManager manager;
	View view;
	@Override

protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		view = LayoutInflater.from(this).inflate(R.layout.second_activity_layout, null);
		setContentView(view);
首先这里不是使用的id把view塞进去,首先获得view,以供后面使用该view实现想要的动画

自定义的回调函数,用于手指在滑动的时候,获得触点的位置
		setScrollXListener(this);

		Display display = getWindowManager().getDefaultDisplay();
		width = display.getWidth();
		height = display.getHeight();
获得屏幕的高和宽

	}

	@Override
	public void scrollX(float x,MotionEvent e1, MotionEvent e2) {
		// TODO Auto-generated method stub
		Log.d("test", "int  ----    " + x);
		Float f = new Float(x);
		

在回调函数中改变view的位置
		view.setX((e2.getX()-e1.getX()));
		view.setY(0);
		
	}

	@Override
	public void flingX(MotionEvent e1, MotionEvent e2) {
		// TODO Auto-generated method stub
		if(e2.getX()>width/2){
			finish();
//			overridePendingTransition(R.anim.anim_stand_alpha, R.anim.anim_right_out);
		}else if(e2.getX()
在手势的实践中,onScroll和onFling的两个MotionEvent e1, MotionEvent e2是不同的,一个是起始点和实时的点的位置,另一个是起始点和手指离开的时候的位置。

}
这里是核心功能的实现,美化的话自己实现
需要源代码的话:[email protected]

你可能感兴趣的:(android)