android - 在 ViewPager 中显示 lottiefiles
问题描述
我的viewpager中有4个片段,我试图显示一个lottiefile,第一个可以使用动画但第二个没有动画,viewpager同时加载2个片段,所以我的问题是有什么方法可以阻止viewpager加载只有可见片段有动画?我试过setUserVisibleHint
但它已被弃用
我的片段代码(我在 AndroidX 上):
public static class PlaceholderFragment extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public PlaceholderFragment() {
//
}
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_pager, container, false);
TextView sectionLabel = (TextView) rootView.findViewById(R.id.section_label);
TextView sectionDetails = (TextView) rootView.findViewById(R.id.section_details);
LottieAnimationView img = (LottieAnimationView) rootView.findViewById(R.id.section_img);
String[] titles = new String[]{getActivity().getString(R.string.onboarding_explore),getActivity().getString(R.string.onboarding_connect),
getActivity().getString(R.string.onboarding_notified), getActivity().getString(R.string.onboarding_create)};
String[] details = new String[]{getActivity().getString(R.string.onboarding_explore_desc),getActivity().getString(R.string.onboarding_connect_desc)
, getActivity().getString(R.string.onboarding_notified_desc), getActivity().getString(R.string.onboarding_create_desc)};
int[] bgs = new int[]{R.raw.explore, R.raw.connect
, R.raw.notifications , R.raw.places};
img.setAnimation(bgs[getArguments().getInt(ARG_SECTION_NUMBER) - 1]);
img.playAnimation();
sectionLabel.setText(titles[getArguments().getInt(ARG_SECTION_NUMBER) - 1]);
sectionDetails.setText(details[getArguments().getInt(ARG_SECTION_NUMBER) - 1]);
return rootView;
}
}
解决方案
推荐阅读
- swift - GPUImage2 录制的视频没有图像
- c# - 如何编写、编译和运行 C# 代码段或脚本
- python - 如何为特定工作项的不同阶段设置时间差
- python - 无法取消注册 ble 通知的 dbus 信号
- java - appium 的此会话问题不支持定位器策略“css 选择器”
- java - JUnit 执行所有包的所有测试类
- scala - 如何使用 spark scala 将单个多分类列拆分为二进制,如一个热编码器?
- wordpress - 如何删除主题中 wordpress 插件中定义的操作?
- amazon-ec2 - 如何在 Amazon Ec2 中正确使用 redis 服务器
- arrays - 索引超出范围数组下标