Link para mais informações sobre a lib de compatibilidade, download e configuração:
http://developer.android.com/sdk/compatibility-library.html
Com essa lib em seu projeto, vc tem acesso as classes ViewPager, PagerAdapter, Fragment, entre outras.
Para criar o Horizontal View Swiping, vamos precisar da ViewPager e PagerAdpter.
Primeiro add a tela xml a "tag" do ViewPager:
Galera, a "tag" que eu estou usando para add os fontes no post é fraca, nesse caso aqui ela colocou tudo minusculo, então troquem o nome da tag para android.support.v4.view.ViewPager (com ViewPager) maiusculo
Agora vc tem que carregar o ViewPager e o Adapter na sua Activity ou em um Fragment (como vc preferir) e setar o Adapter:
AwesomePagerAdapter awesomeAdapter = new AwesomePagerAdapter(); ViewPager awesomePager = (ViewPager) findViewById(R.id.awesomepager); awesomePager.setAdapter(awesomeAdapter);Agora vc precisa implementar o PagerAdapter para montar e carregar os dados nas suas telas:
class AwesomePagerAdapter extends PagerAdapter {
/**
* Indica o número de telas que o Adapter vai montar.
*/
@Override
public int getCount() {
return NUM_AWESOME_VIEWS;
}
/**
* Método responsável pelo carregamento das suas telas
* No exemplo eu uso uma quantidade de telas estáticas e diferentes,
* por isso preciso tratar qual tela devo carregar,
* pois este método sera chamado uma vez para cada tela que vc indicou
* que vai montar no método getCount()
*/
@Override
public Object instantiateItem(View collection, int position) {
switch (position) {
case 0:
// Carrega tela 1
LinearLayout tela1 = (LinearLayout) View.inflate(ControleJogoActivity.this, R.layout.tela_1, null);
// Carrega dados da tela 1
// Add tela ao ViewPager
((ViewPager) collection).addView(tela1, position);
return tela1;
case 1:
// Carrega tela 2
LinearLayout tela2 = (LinearLayout) View.inflate(ControleJogoActivity.this, R.layout.tela_2, null);
// Carrega dados da tela 2
// Add tela ao ViewPager
((ViewPager) collection).addView(tela2, position);
return tela2;
default:
return null;
}
}
/**
* Remove a tela pela posição.
*/
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((LinearLayout) view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout) object);
}
@Override
public void finishUpdate(View arg0) {}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {}
}
Linnk com os fontes de onde foi baseado este tutorial (a única alteração feita no fonte, foi no carregamento das telas 1 e 2):
http://code.google.com/p/viewpagerexample/source/browse/trunk/AwesomePager/src/com/geekyouup/paug/awesomepager/AwesomePagerActivity.java
Link do blog oficial do Android para criação de um Horizontal View Swiping:
http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html
Nenhum comentário:
Postar um comentário