`
jspjson
  • 浏览: 29570 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

android 多个Activity滑动效果

阅读更多

  带有动画效果的滑动,大家都知道,应该使用WorkspaceView,而WorkspaceView必须使用View才能进行滑动。

那么多个Activity该如何做滑动效果呢?

  其实方法很简单,就是把Activity转换为View,下面就是Activity转换为View的代码:

 

 

	private View activityToView(Activity parent, Class<?> target, Bundle state) {

		LocalActivityManager mLocalActivityManager = new LocalActivityManager(
				parent, true);//new一个本地的activity管理器
		mLocalActivityManager.dispatchCreate(state);//这个state就是当前Activity的状态参数,就是onCreate(Bundle savedInstanceState)里面这个savedInstanceState
		mLocalActivityManager.dispatchResume();
		mLocalActivityManager.dispatchDestroy(true);

		Intent intent = new Intent(parent, target);

		final Window w = mLocalActivityManager.startActivity(target.getName(),
				intent);//取得一个window对象,以方便转换为View
		final View wd = w != null ? w.getDecorView() : null;//转换为view
		if (wd != null) {
			wd.setVisibility(View.VISIBLE);
			wd.setClickable(true);
			wd.setFocusable(true);
			wd.setFocusableInTouchMode(true);
			((ViewGroup) wd)
					.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
		}
		return wd;
	}

 

然后定义一个WorkspaceView把所有的activity转换为View加载进去:

 

work = new WorkspaceView(this, null) {
			@Override
			public boolean onTouchEvent(MotionEvent ev) {
				super.onTouchEvent(ev);

				switch (ev.getAction()) {
				case MotionEvent.ACTION_MOVE:
					  //处理移动事件

					break;

				case MotionEvent.ACTION_UP:

					//处理action_up事件

					break;

				}

				return true;

			}
		};

		work.setTouchSlop(16);//设置滑动距离
		// work.setBackgroundColor(getResources().getColor(R.color.main_contain_bgcolor));
                
                 //调用activityToView方法,加载所有的activity
		work.addView(activityToView(this, SmartdialerActivity.class,
				savedInstanceState));

		work.addView(activityToView(this, MainActivity.class,
				savedInstanceState));
		work.addView(smsGroupView);
		work.addView(activityToView(this, AutoReplyActivity.class,
				savedInstanceState));

 

ps:重要的我用红色字体标示了

分享到:
评论
1 楼 haifengyulu 2012-04-15  
WorkSpaceView哪儿来的呢?

相关推荐

    android实现多个Activity滑动效果

    在Android开发中,实现...总之,Android提供多种方式实现多Activity滑动效果,开发者可以根据项目需求选择合适的方法。通过熟练掌握`Fragment`、`ViewPager`以及共享元素过渡等技术,可以构建出更具吸引力的用户界面。

    android点击按钮实现多个Activity滑动切换

    在Android开发中,实现多个Activity之间的滑动切换是一种常见的用户界面交互设计,它可以提供更加流畅且直观的用户体验。本文将详细讲解如何通过点击按钮来实现这种从右侧进入、左侧退出的滑动切换效果。 首先,...

    一个Activity中多个ListView的整体滑动

    以上就是关于“一个Activity中多个ListView的整体滑动”的详细说明,希望对你理解Android中ListView的使用和滑动效果的实现有所帮助。在实际开发中,灵活运用这些技术,可以创建出更加丰富和用户友好的界面。

    android使用ViewPager实现底部菜单栏和左右滑动效果,加载多个Activity

    通过以上步骤和注意事项,你将能够成功地在Android应用中实现底部菜单栏与ViewPager的结合,达到左右滑动切换多个Activity或Fragment的效果。这种设计模式在许多应用中都得到了广泛应用,提高了用户体验和交互性。

    Android 向右滑动切换Activity, 随着手势的滑动而滑动的效果

    总之,实现Android向右滑动切换Activity的效果涉及多个Android组件和技术,包括`ViewPager`、`Fragment`、手势识别、动画和第三方库。通过理解和应用这些知识,你可以为用户创造一个流畅、直观的交互体验。

    Android-Android实现了可以滑动左侧边缘退出Activity的功能

    在Android中,布局通常由多个View和ViewGroup组成,而Activity则包含一个顶级的DecorView。为了实现滑动退出,我们可以在Activity的根布局上添加一个全屏的透明View(例如使用`FrameLayout`或`RelativeLayout`),这...

    Android滑动关闭Activity

    当用户启动一个应用时,系统会创建一个或多个Activity实例。滑动关闭Activity,即通过在屏幕上向左或向右滑动来结束当前的Activity。 要实现滑动关闭功能,我们通常需要自定义ViewGroup,例如使用FrameLayout或...

    android 纵向滑动页面(上下滑动效果)

    对于复杂的、包含多个页面的滑动效果,我们需要使用`ViewPager`。`ViewPager`是Android支持库中的一个控件,它允许用户左右或上下滑动来浏览多个页面,非常适合创建翻页效果。 要创建一个纵向滑动的页面,我们需要...

    手势实现Activity的切换滑动效果

    本话题主要关注如何通过手势识别来实现类似Zaker应用中的Activity滑动切换。下面我们将深入探讨这个过程。 首先,我们需要了解手势识别在Android中的基础。Android提供了`GestureDetector`类,它可以帮助我们检测...

    viewpager中嵌套多个activity

    在“viewpager中嵌套多个activity”的场景下,开发者可能会遇到一些挑战,比如如何有效地管理多个Activity之间的数据加载和通信。在这个主题中,我们将深入探讨如何在ViewPager中实现对多个Activity的嵌套,并进行...

    android左右滑动切换activity

    在一个Activity中,可以有多个Fragment,用户可以通过滑动在这些Fragment之间切换。 3. **PageTransformer**:ViewPager提供了一个接口`PageTransformer`,允许开发者自定义页面滑动时的动画效果,例如深度效果、...

    Android实现图片左右滑动效果

    在Android开发中,实现图片左右滑动效果是常见的需求,比如在查看相册或轮播图时。这个功能可以通过多种方式实现,其中最常用的是使用ViewPager组件。ViewPager允许用户通过左右滑动手势在多个页面之间切换,非常...

    android桌面多页面滑动效果

    在Android平台上,实现类似桌面多页面滑动效果的技术主要涉及到几个关键知识点,包括视图滚动、页面滑动切换、Adapter和ViewPager等。下面将详细解释这些概念及其在实际开发中的应用。 1. 视图滚动(View Scrolling...

    Android 手势滑动切换activity

    在Android开发中,手势识别和Activity的切换是两个重要的概念,尤其在构建用户友好、交互性强的移动应用时。本文将深入探讨如何实现"Android手势滑动切换Activity"这一功能,帮助开发者提升应用的用户体验。 首先,...

    android 九宫格模式实现多个activity的切换

    以上就是实现Android九宫格模式切换多个Activity的基本步骤。通过自定义Adapter和点击事件,我们可以轻松地为每个按钮绑定不同的Activity,同时通过调整布局和动画,可以进一步优化用户体验。在实际开发中,还可以...

    Activity嵌套fragment大全,activity加载单个fragment,TabLayout+ViewPager实现多个fragment滑动效果

    它允许开发者在同一个Activity中展示多个UI片段,增强了应用的灵活性。本篇文章将深入探讨如何在Activity中嵌套Fragment,以及如何利用TabLayout和ViewPager来实现多Fragment的滑动效果。 首先,我们来了解Activity...

    android Activity左右滑动

    1. **ViewPager**: ViewPager是Android SDK中的一个控件,它允许用户通过左右滑动来浏览多个页面。每个页面都是一个单独的Fragment或Activity,这样可以创建一个流畅的滑动体验。在“InterfacialSlidingDemo”中,...

    滑动界面关闭activity

    实现这一功能涉及到Android的触摸事件处理、视图层级管理和动画控制等多个方面的知识。 首先,了解Android的触摸事件处理机制是必要的。Android通过MotionEvent对象传递触摸事件,包括ACTION_DOWN、ACTION_MOVE、...

    Android 界面禁止左右滑动切换

    首先,Android界面的左右滑动切换通常是通过`ViewPager`组件实现的,它允许用户通过横向滑动来浏览多个页面。如果我们想要禁止这种行为,我们需要对`ViewPager`进行定制。以下是一种可能的方法: 1. **自定义...

    android 滑动关闭activity.zip

    在Android开发中,滑动关闭Activity是一种常见的交互方式,它为用户提供了一种直观且便捷的操作体验,使得用户可以通过简单的手势来结束一个Activity。本压缩包包含的资源是关于实现这一功能的源码示例,主要涉及到`...

Global site tag (gtag.js) - Google Analytics