2017-09-10 5 views
1

Ceci est ma mise en page où j'ajoute Tablayout et ViewPager dans le ScrollView.ViewPager ne fonctionne pas avec un scrollView

Tout est OK, mais le fragment viewPager n'affiche rien.

Ceci est ma mise en page xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolBar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:background="@color/colorPrimary"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <TextView 
       android:id="@+id/toolTitle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:textAppearanceLarge" 
       android:textColor="@android:color/white" 
       android:textStyle="bold" 
       tools:text="Exemplo" 
       android:layout_marginLeft="12dp" 
       android:layout_marginStart="12dp" 
       android:layout_centerVertical="true" 
       android:layout_toRightOf="@+id/back_arrow" 
       android:layout_toEndOf="@+id/back_arrow" /> 

      <ImageView 
       android:paddingTop="2dp" 
       android:layout_width="24dp" 
       android:layout_height="24dp" 
       android:layout_alignParentLeft="true" 
       android:layout_centerVertical="true" 
       android:src="@drawable/back_arrow" 
       android:id="@+id/back_arrow" /> 
     </RelativeLayout> 

    </android.support.v7.widget.Toolbar> 

    <ScrollView 
     android:layout_below="@id/toolBar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/restau_image" 
      android:layout_width="match_parent" 
      android:layout_height="210dp" 
      android:scaleType="centerCrop" 
      tools:src="@drawable/catina2" /> 

     <LinearLayout 
      android:id="@+id/linear_clock" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/restau_image" 
      android:layout_marginLeft="16dp" 
      android:orientation="vertical"> 

      <ImageView 
       android:id="@+id/clock" 
       android:layout_width="36dp" 
       android:layout_height="36dp" 
       android:layout_marginBottom="8dp" 
       android:layout_marginTop="16dp" 
       tools:src="@drawable/clock" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp" 
       android:orientation="horizontal"> 

       <TextView 
        android:id="@+id/almoco_textView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="8dp" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        android:textStyle="bold" 
        tools:text="Almoço" /> 

       <TextView 
        android:id="@+id/almoco_time" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        tools:text="11:30 - 14:30" /> 

       <ImageView 
        android:id="@+id/arrow_down" 
        android:layout_width="28dp" 
        android:layout_height="28dp" 
        android:layout_marginLeft="12dp" 
        tools:src="@drawable/arow_down" /> 

      </LinearLayout> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp"> 

       <TextView 
        android:id="@+id/jantar_textView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="20dp" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        android:textStyle="bold" 
        tools:text="Jantar" /> 

       <TextView 
        android:id="@+id/jantar_time" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        tools:text="18:30 - 20:30" /> 

      </LinearLayout> 

      <TextView 
       android:id="@+id/open_option" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp" 
       android:layout_marginTop="4dp" 
       android:textAppearance="?android:textAppearanceMedium" 
       android:textColor="@android:color/black" 
       android:textSize="18sp" 
       tools:text="Aberto de segunda à sexta Fechado aos feriados" /> 

     </LinearLayout> 

     <View 
      android:id="@+id/first_line" 
      android:layout_width="320dp" 
      android:layout_height="2dp" 
      android:layout_below="@id/linear_clock" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="8dp" 
      android:background="#BDBDBD"> 

     </View> 

     <LinearLayout 
      android:id="@+id/linear_info" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/first_line" 
      android:layout_marginLeft="16dp" 
      android:orientation="vertical"> 

      <ImageView 
       android:id="@+id/info" 
       android:layout_width="36dp" 
       android:layout_height="36dp" 
       android:layout_marginBottom="8dp" 
       android:layout_marginTop="16dp" 
       tools:src="@drawable/info" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp" 
       android:orientation="horizontal"> 

       <TextView 
        android:id="@+id/pp_textView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        tools:text="Prato principal" /> 

       <TextView 
        android:id="@+id/pp_price" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="18dp" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        android:textStyle="bold" 
        tools:text="3€" /> 

      </LinearLayout> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="4dp" 
       android:orientation="horizontal"> 

       <TextView 
        android:id="@+id/mp_textView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        tools:text="Mini Prato" /> 

       <TextView 
        android:id="@+id/mp_price" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="52dp" 
        android:textAppearance="?android:textAppearanceMedium" 
        android:textColor="@android:color/black" 
        android:textSize="18sp" 
        android:textStyle="bold" 
        tools:text="2.5€" /> 

      </LinearLayout> 

     </LinearLayout> 

     <View 
      android:id="@+id/second_line" 
      android:layout_width="320dp" 
      android:layout_height="2dp" 
      android:layout_below="@id/linear_info" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="8dp" 
      android:background="#BDBDBD"> 

     </View> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/second_line" 
      android:orientation="vertical"> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/viewpager" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/tabs" /> 
     </LinearLayout> 

    </RelativeLayout> 

    </ScrollView> 

</RelativeLayout> 

Comme vous pouvez le voir, je l'ai essayé android: fillViewport = "true", mais il ne marche pas ... travail Ps Im désolé pour le code long, je vraiment besoin de la solution aussi vite que possible ... la seule façon cela semble fonctionner est en ajoutant une certaine hauteur dans la tentative ViewPager

+0

données ne se charge pas ou fragment? – phpdroid

+0

fragment ne charge pas complètement – mCalado

Répondre

0

Le contenu de votre mise en page dépasse viewPort (hauteur d'écran) de ScrollView. Donc, dans ce type de structure de mise en page seule chose que vous pouvez faire est de définir une hauteur fixe pour votre ViewPager. Alors seulement vous pouvez voir votre contenu ViewPager. Essayez ci-dessous le code pour votre ViewPager

 <android.support.v4.view.ViewPager 
       android:id="@+id/viewpager" 
       android:layout_width="match_parent" 
       android:layout_height="300dp" 
       android:layout_below="@id/tabs" /> 
0

remplacer ce code

<ScrollView 
    android:layout_below="@id/toolBar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fillViewport="true" 

donnant scr ollview wrap_content
également ajouter ces lignes dans votre xml ViewPager et permettra de résoudre le problème
Read here vous avez le même problème!

android:layout_marginBottom="?attr/actionBarSize" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
+0

Ne fonctionne pas: ((((((( – mCalado

+0

Son ne fonctionne pas, je vais poster plus de mises en page – mCalado

+0

lire le lien j'ai ajouté ci-dessus – phpdroid