View Pager – ¿Cómo puedo colocar botones fijos encima de él

En mi aplicación para Android tengo un buscapersonas de vista que es esencialmente una presentación de diapositivas de imágenes. Esas imágenes son las imágenes de fondo de 5 fragmentos diferentes

Quiero poner dos botones en la parte superior de todo, y los botones para permanecer fijos en la pantalla. ¿Cómo puedo hacer eso?

public class WhatIsThis extends SherlockFragmentActivity { private static final int NUM_PAGES = 5; private ViewPager mPager; private PagerAdapter mPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); super.onCreate(savedInstanceState); setContentView(R.layout.welcome_slides_view_pager); // Instantiate a ViewPager and a PagerAdapter. mPager = (ViewPager) findViewById(R.id.pager); mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); mPager.setAdapter(mPagerAdapter); } @Override public void onBackPressed() { if (mPager.getCurrentItem() == 0) { super.onBackPressed(); } else { mPager.setCurrentItem(mPager.getCurrentItem() - 1); } } private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { public ScreenSlidePagerAdapter(FragmentManager fragmentManager) { super(fragmentManager); } @Override public SherlockFragment getItem(int position) { if(position == 1) { return new WelcomeSlideFragmentA(); } else if (position == 2) { return new WelcomeSlideFragmentB(); } else if (position == 3) { return new WelcomeSlideFragmentC(); } else if (position == 4) { return new WelcomeSlideFragmentD(); } else { return new WelcomeSlideFragmentE(); } } @Override public int getCount() { return NUM_PAGES; } } } 

Welcome_slides_view_pager.xml:

 <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> 

Simplemente puede reemplazar el contenido de welcome_slides_view_pager.xml con esto:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/button_previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:text="Previous" /> <Button android:id="@+id/button_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:text="Next" /> </RelativeLayout> 

De esa manera tendrás dos botones fijos sobre tu viewpager (los he colocado para usarlos como página siguiente y anterior para el paginador de vista, supongo que eso es lo que quieres hacer).

Usted puede poner estos dos botones arriba de paginador de la visión dentro en la disposición

2 maneras.

1 Puede colocar estos botones encima del paginador de vistas en su diseño.

2 Si tiene una barra de acciones, puede crear una actividad con NAVIGATION_MODE_TABS y agregar estas pestañas a su actividad con los métodos ActionBar.

Creo que la segunda forma es más genial.

Prueba de esta manera:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button2" />Ï </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 
  • ListView dentro de un fragmento utilizado en un ViewPager no se comporta como se esperaba
  • Android TabHost dentro de Fragmento
  • Android ViewPager + Webview, ClassCastException! Necesita una vista web en un viewpager
  • Viewpager setonpagechangelistener obsoleto
  • Cómo cargar datos de fragmentos sólo cuando se hace clic en su pestaña en PagerSlidingTabStrip
  • OnPageSelected no se activa cuando se llama a setCurrentItem (0)
  • Android ViewPager guardar página anterior en onPageSelected
  • Cómo obtener acceso a mi botón en una de mis páginas de viewpager?
  • ¿Cómo puedo configurar ViewPager layoutParams de forma programática?
  • ¿Cómo manejar correctamente la rotación de la pantalla con un ViewPager y fragmentos anidados?
  • Android: intenta invocar el método virtual 'void android.support.v4.app.Fragment.setMenuVisibility (boolean)' en una referencia de objeto nulo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.