Android: ¿Cómo rellenar SwipeyTabs?

Estoy usando SwipeyTabs en mi aplicación. No estoy seguro de cómo llenar el contenido de las pestañas. Ni siquiera tiene ningún propio xml.

Estoy usando pestañas como esta:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_swipey_tabs); initViewPager(4, 0xFFFFFFFF, 0xFF000000); mSwipeyTabs = (SwipeyTabsView) findViewById(R.id.swipey_tabs); mSwipeyTabsAdapter = new SwipeyTabsAdapter(this); mSwipeyTabs.setAdapter(mSwipeyTabsAdapter); mSwipeyTabs.setViewPager(mPager); } private void initViewPager(int pageCount, int backgroundColor, int textColor) { mPager = (ViewPager) findViewById(R.id.pager); mPagerAdapter = new ExamplePagerAdapter(this, pageCount, backgroundColor, textColor); mPager.setAdapter(mPagerAdapter); mPager.setCurrentItem(1); mPager.setPageMargin(1); } 

Y aquí está el layout de activity_swipey_tabs.xml :

 <android.ex.com.viewpager.extension.SwipeyTabsView android:id="@+id/swipey_tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#3B3B3B" /> <View android:id="@+id/colorline" android:layout_width="fill_parent" android:layout_height="2dip" android:layout_below="@+id/swipey_tabs" android:background="#FF91A438" /> <View android:id="@+id/blackline" android:layout_width="fill_parent" android:layout_height="1dip" android:layout_below="@+id/colorline" android:background="#FF000000" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/blackline" /> 

¿Hay ejemplos o tutoriales?

Cualquier apoyo sería genial.

Las pestañas de SwipeyTabs son como diseño virtual, quiero decir que no tienen un diseño propio definido. Debe definir cada componente dinámicamente.

Permítanme explicar con detalles. En ejemplo, necesita un ListView (personalizado). Ha creado un diseño como este:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="70dp" android:padding="5dp" android:background="#ffffff" > <ImageView android:id="@+id/imageView1" android:layout_width="80dp" android:layout_height="60dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:src="@drawable/i1" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/imageView1" android:layout_alignParentRight="true" android:textColor="@android:color/black" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView2" android:layout_alignTop="@+id/imageView1" android:textColor="@android:color/black" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/imageView1" android:layout_toRightOf="@+id/imageView1" android:textColor="@android:color/black" android:textAppearance="?android:attr/textAppearanceSmall" /> </RelativeLayout> 

Ahora también necesitas un ArrayAdapter para adaptar este ListView personalizado, no ArrayAdapter .

Así que en su clase PagerAdapter , defina un ListView y utilice este diseño. Por ejemplo:

 @Override public Object instantiateItem(View container, int position) { ListView v = new ListView( mContext ); //test_list_layout which is above TestAdapter adapter = new TestAdapter(mContext, R.layout.test_list_layout, objs); v.setAdapter( adapter ); ((ViewPager)container ).addView( v, 0 ); v.setSelection( scrollPosition[ position ] ); v.setOnScrollListener( new OnScrollListener() { public void onScrollStateChanged( AbsListView view, int scrollState ){} public void onScroll( AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount ) { scrollPosition[ pos ] = firstVisibleItem; } }); return v; } 

Ahora funciona bien. Si necesita más pestañas, use el parámetro de position como un separador como if(position == 0) . En esto vas a necesitar esta línea:

 ((ViewPager) container).removeView((View) container); 

Eso es todo. Espero, está claro.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.