您的位置:首页 > 移动开发 > Android开发

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

2015-03-09 20:38 399 查看
</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 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();获得屏幕的高和宽
}@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐