Multiple view Activity Transition

2.1k views Asked by At

Android Lolipop has an api that allows for easy transitions between shared elements in different activities.

Activity transitions

It looks like this api doesn't support a transition with multiple views. Is there a way to do this using the same api?

EDIT

Following the advice from @pskink I use a different method

    ActivityOptions options = ActivityOptions
            .makeSceneTransitionAnimation(this, Pair.create((View)view, "viewPager"), Pair.create((View) fab, "fab"));
    startActivity(intent, options.toBundle());

This worked fine from ActivityA to ActivityB but hitting the back button results in this stacktrace

   A/OpenGLRenderer(17305): requireSurface() called but no surface set!
 A/libc(17305): Fatal signal 6 (SIGABRT), code -6 in tid 17349(RenderThread)
        Build fingerprint: 'google/hammerhead/hammerhead:5.0/LRX21O/1570415:user/release-keys'
        Revision: '11'
        ABI: 'arm'
        pid: 3364, tid: 3414, name: RenderThread  >>> com.example.package <<<
        signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
        Abort message: 'requireSurface() called but no surface set!'
            r0 00000000  r1 00000d56  r2 00000006  r3 00000000
            r4 9e9b5db8  r5 00000006  r6 0000003e  r7 0000010c
            r8 ac39bacc  r9 9e9b5d08  sl 9e9b5d00  fp ac39bb08
            ip 00000d56  sp 9e9b5858  lr b6f1faf9  pc b6f435d4  cpsr 600f0010
        backtrace:
            #00 pc 0003a5d4  /system/lib/libc.so (tgkill+12)
            #01 pc 00016af5  /system/lib/libc.so (pthread_kill+52)
            #02 pc 00017707  /system/lib/libc.so (raise+10)
            #03 pc 00013f75  /system/lib/libc.so (__libc_android_abort+36)
            #04 pc 00012a3c  /system/lib/libc.so (abort+4)
            #05 pc 00007a59  /system/lib/libcutils.so (__android_log_assert+88)
            #06 pc 0003b61f  /system/lib/libhwui.so
            #07 pc 0003b971  /system/lib/libhwui.so
            #08 pc 0003cf8d  /system/lib/libhwui.so
            #09 pc 0003cea5  /system/lib/libhwui.so
            #10 pc 0003d885  /system/lib/libhwui.so
            #11 pc 0003e27b  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+66)
            #12 pc 000104d5  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
            #13 pc 0005df4d  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
            #14 pc 00010045  /system/lib/libutils.so
            #15 pc 000162e3  /system/lib/libc.so (__pthread_start(void*)+30)
            #16 pc 000142d3  /system/lib/libc.so (__start_thread+6)

EDIT2

The only logs that I receive when I filter by package name are below. The first log looks like it is coming from render script, I posted the log above as I thought it is related.

A/OpenGLRenderer(11128): requireSurface() called but no surface set!

A/libc(11128): Fatal signal 6 (SIGABRT), code -6 in tid 11219 (RenderThread)

I/ci(11358): Making Creator dynamically

W/ResourcesManager(11358): Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no

W/ResourcesManager(11358): Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no

EDIT3

So I was able to get this to work by disabling the mapfragment that was on activityA. I am still investigating why this would happen

0

There are 0 answers