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

来源:互联网 发布:钓鱼岛知乎 编辑:程序博客网 时间:2024/05/16 09:28

</pre>实现手指滑动切换activity,带动画,view会随手指的位置切换,有动画。</p><p><span style="white-space:pre"></span><pre name="code" class="java">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 stubsuper.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();获得屏幕的高和宽
}@Overridepublic void scrollX(float x,MotionEvent e1, MotionEvent e2) {// TODO Auto-generated method stubLog.d("test", "int  ----    " + x);Float f = new Float(x);
在回调函数中改变view的位置view.setX((e2.getX()-e1.getX()));view.setY(0);}@Overridepublic void flingX(MotionEvent e1, MotionEvent e2) {// TODO Auto-generated method stubif(e2.getX()>width/2){finish();//overridePendingTransition(R.anim.anim_stand_alpha, R.anim.anim_right_out);}else if(e2.getX()<width/2){view.setX(0);view.setY(0);}}
在手势的实践中,onScroll和onFling的两个<span style="font-family: Arial, Helvetica, sans-serif;">MotionEvent e1, MotionEvent e2是不同的,一个是起始点和实时的点的位置,另一个是起始点和手指离开的时候的位置。</span>
}
这里是核心功能的实现,美化的话自己实现
需要源代码的话:damengzai@sohu.com

0 0
原创粉丝点击