Sto lavorando su FragmentActivity che contiene un ViewPager. ViewPager fornisce tre frammenti usando FragmentPagerAdapter.So sono in grado di implementare schermate di scorrimento usando viewpager.Posso scorrere le pagine e facendo clic sul pulsante Avanti, posso passare alla pagina successiva/frammento. Il seguente codice funziona per me:Animazione di punti usando view pager
1.WelcomeFragmentActivity.java
public class WelcomeFragmentActivity extends FragmentActivity {
private List<Fragment> listFragments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_activity_welcome);
//FindViewByID
final ViewPager viewPager = (ViewPager) findViewById(R.id.viewPager);
Button btnNext = (Button) findViewById(R.id.btnNext);
//Initializing the List
listFragments = new ArrayList<Fragment>();
//initializing the fragments
WelcomeOneFragment welcomeOneFragment = new WelcomeOneFragment();
WelcomeTwoFragment welcomeTwoFragment = new WelcomeTwoFragment();
WelcomeThreeFragment welcomeThreeFragment = new WelcomeThreeFragment();
//Adding Fragments to List
listFragments.add(welcomeOneFragment);
listFragments.add(welcomeTwoFragment);
listFragments.add(welcomeThreeFragment);
//initializing PagerAdapterWelcome
PagerAdapterWelcome pagerAdapterWelcome = new PagerAdapterWelcome(getSupportFragmentManager(), listFragments);
viewPager.setAdapter(pagerAdapterWelcome);
//On clicking next button move to next fragment
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("Current position", String.valueOf(viewPager.getCurrentItem()));
viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
// If view pager is displaying the 3rd fragment ,move to WelcomeActivity
if (viewPager.getCurrentItem() == 2) {
Log.e("Curent position", String.valueOf(viewPager.getCurrentItem()));
startActivity(new Intent(WelcomeFragmentActivity.this, WelcomeActivity.class));
}
}
});
}
}
2.PagerAdapterWelcome.java
public class PagerAdapterWelcome extends FragmentPagerAdapter {
private List<Fragment> listFragments;
public PagerAdapterWelcome(FragmentManager fm, List<Fragment> listFragments) {
super(fm);
this.listFragments = listFragments;
}
@Override
public Fragment getItem(int i) {
return listFragments.get(i);
}
@Override
public int getCount() {
return listFragments.size();
}
}
voglio imp lement seguenti schermate:
Questi tre schermi saranno visualizzati uno dopo l'altro dopo la strisciata o facendo clic sul pulsante successivo colore .orange del punto mi sta dicendo su su quale frammento sto lavorando attualmente. Per favore guidami come posso dare l'animazione a questi punti?
cura Codice
ho usato il RadioGroup per implementare il concept.Consider il seguente codice:
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
position = viewPager.getCurrentItem();
Log.e("Position", String.valueOf(position));
if (position == 0)
radioGroup.check(R.id.radioBtnOne);
else if (position == 1) {
radioGroup.check(R.id.radioBtnTwo);
} else
radioGroup.check(R.id.radioBtnThree);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
Si sta lavorando in una certa misura, ma non ricevo il colore esatto che è menzionato nella progettazione Controlli prego la seguente schermata:
Dopo aver aggiunto alcuni stili a biutton Radio suggerite da Ankit Aggrawal sto ottenendo il seguente:
http://www.androprogrammer.com/2015/06/view-pager-with-circular-indicator.html –
http: // nilukad .blogspot.in/2014/01/image-gallary-with-dot-indicater.html –
Controlla la mia soluzione: http://stackoverflow.com/a/38459310/4631935 – RediOne1