[英]How to start On Boarding activity after Splash Screen activity in android?
I've made a splash screen(Introductory activity) using Cuberto Liquid Pager.我使用 Cuberto Liquid Pager 制作了一个启动画面(介绍性活动)。 My next activity is supposed to be an on boarding activity where 3 fragments are there.我的下一个活动应该是登机活动,其中有 3 个片段。 The problem is after running the code, Splash screen & 1st fragment from onboarding activity are getting merged.问题是在运行代码后,初始屏幕和来自入职活动的第一个片段正在合并。 I've tried different solutions but nothing has worked.我尝试了不同的解决方案,但没有任何效果。 Please shed some light on this problem.请阐明这个问题。
IntroductoryActivity.java介绍性Activity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_introductory);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().hide();
h1= findViewById(R.id.houseintro);
h2= findViewById(R.id.houseintro2);
bottom= findViewById(R.id.bottom);
txt1= findViewById(R.id.atsingleplace);
txt2= findViewById(R.id.findallprop);
appname= findViewById(R.id.findmehome);
h1.animate().translationY(-2000).setDuration(1000).setStartDelay(6000);
h2.animate().translationY(2000).setDuration(1000).setStartDelay(6000);
bottom.animate().translationY(3000).setDuration(1000).setStartDelay(6000);
txt2.animate().translationY(2000).setDuration(1000).setStartDelay(6000);
txt1.animate().translationY(2000).setDuration(1000).setStartDelay(6000);
appname.animate().translationY(2000).setDuration(1000).setStartDelay(6000);
viewPager=findViewById(R.id.pager);
pagerAdapter=new ScreenSlidePagerAdapter(getSupportFragmentManager(),1);
viewPager.setAdapter(pagerAdapter);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter{
@SuppressLint("WrongConstant")
public ScreenSlidePagerAdapter(@NonNull FragmentManager fm, int i) {
super(fm, FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@NonNull
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
OnBoardingFragment1 tab1 =new OnBoardingFragment1();
return tab1;
case 1:
OnBoardingFragment2 tab2 =new OnBoardingFragment2();
return tab2;
case 2:
OnBoardingFragment3 tab3 =new OnBoardingFragment3();
return tab3;
}
return null;
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
} }
OnBoardingFragment1.java OnBoardingFragment1.java
public class OnBoardingFragment1 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.fragment_on_boarding1,container,false);
return root;
//return super.onCreateView(inflater, container, savedInstanceState);
}
} }
OnBoardingFragment2.java OnBoardingFragment2.java
public class OnBoardingFragment2 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.fragment_on_boarding2,container,false);
return root;
//return super.onCreateView(inflater, container, savedInstanceState);
}
} }
OnBoardingFragment3 OnBoardingFragment3
public class OnBoardingFragment3 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
ViewGroup root=(ViewGroup) inflater.inflate(R.layout.fragment_on_boarding3,container,false);
return root;
//return super.onCreateView(inflater, container, savedInstanceState);
}
} }
如果您仍然没有解决它,我认为您可以使用 viewPager 作为单独的入职屏幕来浏览不同的布局视图,并使用不同的类进行启动或将启动样式附加到入职屏幕以在入职前加载屏幕 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.