Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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将淡入.

Android的活动输入转换在重叠视图上无法正常工作

解决方法

好吧,我为那些感兴趣的人找到了答案.

我必须设置

<item name="android:windowSharedElementsUSEOverlay">false</item>

在我的风格定义中.

documentation开始:

大佬总结

以上是大佬教程为你收集整理的Android的活动输入转换在重叠视图上无法正常工作全部内容,希望文章能够帮你解决Android的活动输入转换在重叠视图上无法正常工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。