gpt4 book ai didi

android - 添加带有淡入淡出动画的 ActionBar 项目

转载 作者:行者123 更新时间:2023-11-29 21:15:58 25 4
gpt4 key购买 nike

我有一个 ViewPager,其中一个属于它的 fragment 有自己的 ActionBar 项目,因此当您滑动到该页面时,该项目出现在 ActionBar 中,滑动到另一页面时该项目消失。

我希望这种情况发生在淡入/淡出动画中 - 但不知道如何实现。

我尝试了以下方法。但它在 itemView.startAnimation(fade_in);

上给了我一个 NullPointerExecption
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.intruders_list, menu);

// Setup animation
Animation fade_in = AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in);
fade_in.setInterpolator(new AccelerateInterpolator());
fade_in.setDuration(250);

// Animate
MenuItem deleteItem = menu.findItem(R.id.action_delete);
View itemView = deleteItem.getActionView();
itemView.startAnimation(fade_in); // NPE HERE

super.onCreateOptionsMenu(menu, inflater);
}

最佳答案

您将收到 NullPointerException,因为您正在尝试获取未设置任何操作的 View 。 getActionView() 在您的情况下返回 null

要解决此问题,您需要使用 deleteItem.setActionView(R.layout.layout_action_view); 设置一个。
或者,您可以在 intruders_list.xml 中的项目上使用 android:actionLayout="@layout/layout_action_view" 进行设置。

layout_action_view.xml 可能看起来像这样简单:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/actionButtonStyle"
android:id="@+id/iv_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_rotate" />

关于android - 添加带有淡入淡出动画的 ActionBar 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com