大佬教程收集整理的这篇文章主要介绍了Android的活动输入转换在重叠视图上无法正常工作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在两个活动之间声明过渡动画 – 主要和细节. Master是带有图像的RecyclerView列表,详细信息是LinearLayout,带有来自父列表的标题图像.转换以XML格式声明并绑定到详细活动,如下所示:
<item name="android:windowSharedElementEnterTransition">@transition/activity_enter_shared</item> <item name="android:windowEnterTransition">@transition/activity_enter</item>
在RecyclerView的适配器转换中,如下所示:
final ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation( mContext,imgView,ViewCompat.getTransitionName(imgView) ); mContext.startActivity(new Intent(mContext,ChildActivity.class),options.toBundle());
问题是:
在@ transition / activity_enter中,我正在对某些布局元素(例如后退按钮)应用淡入淡出.这些元素放在FrameLayout上的图像上.这似乎导致了淡入淡出视图的问题,而不是平滑地出现在屏幕上,“弹出”.这仅在视图重叠时发生 – 如果放置在LinearLayout中,则每个事件都按预期工作.
fade在@ transition / activity_enter中声明如下:
<fade android:startDelay="300" android:duration="100" android:interpolator="@android:interpolator/linear"> <targets> <target android:targetId="@id/target_id" /> </targets> </fade>
注1 – 如果在Activity fade中以编程方式触发工作正常:
final ViewGroup frame = (ViewGroup) findViewById(R.id.framE); frame.setOnClickListener(new View.onClickListener() { Boolean visible; @Override public void onClick(View v) { TransitionManager.beginDelayedTransition(framE); visible = !visible; frame.findViewById(R.id.target_id).setVisibility(visible ? View.VISIBLE : View.GONE); } });
注2 – 共享转换(@ transition / activity_enter_shared)是自定义的,但是,使用默认转换不能解决问题.
注3 – 最简单的布局如下:
<FrameLayout> <ImageView /> <ImageButton android:id="@+id/target_id" /> </FrameLayout/>
但问题不是特定于FrameLayout而是特定于视图的重叠.
注4 – 例如,在以下布局中,Lorem将弹出,而ipsum将淡入.
我必须设置
<item name="android:windowSharedElementsUSEOverlay">false</item>
在我的风格定义中.
从documentation开始:
以上是大佬教程为你收集整理的Android的活动输入转换在重叠视图上无法正常工作全部内容,希望文章能够帮你解决Android的活动输入转换在重叠视图上无法正常工作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。