美文网首页
8.1 Activity2

8.1 Activity2

作者: jadefly | 来源:发表于2018-07-09 09:57 被阅读0次

    Activity启动方式

    显示启动:

    显示启动

    隐式启动:

    隐式启动

    Activity间传值

    注:Bundle的大小是有限制的 < 0.5MB

    单/多值传递 回传

    Activity过场动画

    将相关动画文件添加到res/anim目录下

    方法1:设置overridePendingTransition

    overridePendingTransition

    方法2:设置style

    设置style

    方法3:TransitionManager(api19)或addOnPreDrawListener

    方法4:context.startActivity(intent, options);//Bundle options,使用ActivityOptionsCompat.xxx.toBundle动画设置返回bundle


    ActivityOptionsCompat(V4兼容类)详解

    注:使用需要theme中添加 true

           (这里的兼容是指能保证不崩溃,低版本同样使用不了效果)

    1.makeCustomAnimation(Context context, int enterResId, int exitResId)

       设置自定义动画,传(入场动画资源,退场动画资源)

    2.makeScaleUpAnimation(View source, int startX, int startY, int startWidth, int startHeight)

       source:放大View

       startX,startY:以View为基点的偏移(eg:view.getWidth() /2, view.getHeight() /2 即View的中心)

       startWidth,startHeight:新的activity从多大开始放大(eg:0,0 即从无到有)

    3.makeThumbnailScaleUpAnimation(View source, Bitmap thumbnail, int startX, int startY)

       thumbnail:要放大的图片

       startX,startY:从哪开始动画

    4.makeSceneTransitionAnimation(Activity activity, View sharedElement, String sharedElementName)

        两个activity中两个view进行协作的场景动画(5.0以上才支持)

        sharedElement:执行动画的view

        sharedElementName:定义的标记,另一个view需要同样设置这个标记(如果是xml设置:android:transitionName=“@String/xxx”)

    5.makeSceneTransitionAnimation(Activity activity, Pair... sharedElements)

       同4,但是可以多个view进行协作动画,通过Pair对象封装

       Pair imagePair = Pair.create(mImageView, getString(R.string.image));

       Pair textPair = Pair.create(mTextView, getString(R.string.name));

    相关文章

      网友评论

          本文标题:8.1 Activity2

          本文链接:https://www.haomeiwen.com/subject/xprzuftx.html