jid*_*vah 5 android activity-transition shared-element-transition
Android Lolipop有一个api,允许在不同活动中的共享元素之间轻松转换.
看起来这个api不支持具有多个视图的转换.有没有办法使用相同的API?
编辑
根据@pskink的建议,我使用了不同的方法
ActivityOptions options = ActivityOptions
.makeSceneTransitionAnimation(this, Pair.create((View)view, "viewPager"), Pair.create((View) fab, "fab"));
startActivity(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
这从ActivityA到ActivityB工作正常,但点击后退按钮会导致此堆栈跟踪
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)
Run Code Online (Sandbox Code Playgroud)
EDIT2
我按包名过滤时收到的唯一日志如下.第一个日志看起来像来自渲染脚本,我发布了上面的日志,因为我认为它是相关的.
A/OpenGLRenderer(11128):调用requireSurface()但没有表面设置!
A/libc(11128):致命信号6(SIGABRT),tid 11219中的代码-6(RenderThread)
I/ci(11358):动态制作创作者
W/ResourcesManager(11358):资产路径'/system/framework/com.android.media.remotedisplay.jar'不存在或包含否
W/ResourcesManager(11358):资产路径'/system/framework/com.android.location.provider.jar'不存在或包含否
EDIT3
因此,我可以通过禁用activityA上的mapfragment来实现此功能.我仍在调查为什么会这样
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |