2017-06-17 13 views
0

Ich habe eine einfache ScrollView mit RelativeLayout und LinearLayout erstellt, die ScrollView funktioniert gut auf neueren Geräten, ich teste es auf einem Nexus 5 und alles ist in Ordnung, aber wenn ich es in älteren Geräten testen (nicht so alt) die Schriftrolle funktioniert nicht, das Layout zeigt nur den oberen Teil der Ansicht und es lässt mich nicht scrollen.ScrollView funktioniert nicht auf einem anderen Gerät

So ist mein xml wie folgt aus:

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 


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

<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 


     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      app:srcCompat="@android:drawable/ic_menu_camera" 
      android:elevation="2dp" 
      app:layout_widthPercent="90%" 
      app:layout_heightPercent="10%" 
      app:layout_marginTopPercent="90%" 
      app:layout_marginLeftPercent="80%" 
      app:backgroundTint="#f1c40f" 
      android:onClick="capture"/> 

     <include 
      layout="@layout/custom_toolbar" 
      android:id="@+id/my_toolbar" 
      app:layout_widthPercent="100%" 
      app:layout_heightPercent="8%" 
      app:layout_marginTopPercent="0%" 
      app:layout_marginLeftPercent="0%" /> 



     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/SpecieName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="85%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/GenreName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="genrePressed" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="95%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/FamilyName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="familyPressed" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="105%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/textView8" 
      android:text="Espécie" 
      android:textSize="14dp" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="85%" 
      app:layout_marginLeftPercent="5%" 
/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/textView7" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="95%" 
      app:layout_marginLeftPercent="5%" 
      android:text="Género" 
      android:textSize="14dp" /> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/Family" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="105%" 
      app:layout_marginLeftPercent="5%" 
      android:text="Familia" 
      android:textSize="14dp" /> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/specieDescription" 
      android:textSize="14dp" 
      app:layout_widthPercent="90%" 
      android:layout_height="wrap_content" 
      app:layout_marginTopPercent="120%" 
      app:layout_marginLeftPercent="5%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/descricaoTit" 
      android:text="Descrição" 
      android:textSize="14dp" 
      app:layout_widthPercent="30%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="115%" 
      app:layout_marginLeftPercent="5%"/> 

     <ImageView 
      android:id="@+id/plantImage" 
      android:adjustViewBounds="true" 
      android:scaleType="fitXY" 
      app:layout_widthPercent="80%" 
      app:layout_heightPercent="50%" 
      app:layout_marginTopPercent="10%" 
      app:layout_marginLeftPercent="10%" 
      app:srcCompat="@drawable/color_cursor_white" /> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/gallery" 
      app:layout_widthPercent="100%" 
      app:layout_heightPercent="10%" 
      app:layout_marginTopPercent="62%" 
      app:layout_marginLeftPercent="0%" /> 

     <RelativeLayout 
      app:layout_widthPercent="40%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="75%" 
      app:layout_marginLeftPercent="5%" 
      android:onClick="showMap"> 

      <TextView 
       android:id="@+id/googleMapsText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/imageView6" 
       android:layout_alignBottom="@+id/imageView6" 
       android:text="Ver no mapa" /> 

      <ImageView 
       android:id="@+id/imageView6" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/ic_facebook_placeholder_for_locate_places_on_maps" 
       android:tint="#F90101" /> 
     </RelativeLayout> 

    </android.support.percent.PercentRelativeLayout> 
     </LinearLayout> 
</ScrollView> 

Ich habe versucht, mein Layout mit einem linearen Layout zu umgeben, zu versuchen, die sugested Ansätze aus den Stackoverflow Benutzer zu folgen, aber nicht funktioniert.

Irgendeine Idee?

+0

haben Sie mit verschachtelter Scrollview versucht? –

+0

ich brauche nur 1 scrollView –

Antwort

0

Probieren Sie es einfach aus. Ich bin mir nicht sicher, ob es funktioniert oder nicht, weil ich nicht über Ihr prozentuales Layout weiß.

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 


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

<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 


     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      app:srcCompat="@android:drawable/ic_menu_camera" 
      android:elevation="2dp" 
      app:layout_widthPercent="90%" 
      app:layout_heightPercent="10%" 
      app:layout_marginTopPercent="90%" 
      app:layout_marginLeftPercent="80%" 
      app:backgroundTint="#f1c40f" 
      android:onClick="capture"/> 

     <include 
      layout="@layout/custom_toolbar" 
      android:id="@+id/my_toolbar" 
      app:layout_widthPercent="100%" 
      app:layout_heightPercent="8%" 
      app:layout_marginTopPercent="0%" 
      app:layout_marginLeftPercent="0%" /> 



     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/SpecieName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="85%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/GenreName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="genrePressed" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="95%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/FamilyName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="familyPressed" 
      android:textColor="@color/nephritis" 
      android:textSize="14dp" 
      app:layout_widthPercent="60%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="105%" 
      app:layout_marginLeftPercent="30%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/textView8" 
      android:text="Espécie" 
      android:textSize="14dp" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="85%" 
      app:layout_marginLeftPercent="5%" 
/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/textView7" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="95%" 
      app:layout_marginLeftPercent="5%" 
      android:text="Género" 
      android:textSize="14dp" /> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/Family" 
      app:layout_widthPercent="25%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="105%" 
      app:layout_marginLeftPercent="5%" 
      android:text="Familia" 
      android:textSize="14dp" /> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/specieDescription" 
      android:textSize="14dp" 
      app:layout_widthPercent="90%" 
      android:layout_height="wrap_content" 
      app:layout_marginTopPercent="120%" 
      app:layout_marginLeftPercent="5%"/> 

     <com.example.afcosta.inesctec.pt.android.Helpers.OpenSansMedium 
      android:id="@+id/descricaoTit" 
      android:text="Descrição" 
      android:textSize="14dp" 
      app:layout_widthPercent="30%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="115%" 
      app:layout_marginLeftPercent="5%"/> 

     <ImageView 
      android:id="@+id/plantImage" 
      android:adjustViewBounds="true" 
      android:scaleType="fitXY" 
      app:layout_widthPercent="80%" 
      app:layout_heightPercent="50%" 
      app:layout_marginTopPercent="10%" 
      app:layout_marginLeftPercent="10%" 
      app:srcCompat="@drawable/color_cursor_white" /> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/gallery" 
      app:layout_widthPercent="100%" 
      app:layout_heightPercent="10%" 
      app:layout_marginTopPercent="62%" 
      app:layout_marginLeftPercent="0%" /> 

     <RelativeLayout 
      app:layout_widthPercent="40%" 
      app:layout_heightPercent="5%" 
      app:layout_marginTopPercent="75%" 
      app:layout_marginLeftPercent="5%" 
      android:onClick="showMap"> 

      <TextView 
       android:id="@+id/googleMapsText" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/imageView6" 
       android:layout_alignBottom="@+id/imageView6" 
       android:text="Ver no mapa" /> 

      <ImageView 
       android:id="@+id/imageView6" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/ic_facebook_placeholder_for_locate_places_on_maps" 
       android:tint="#F90101" /> 
     </RelativeLayout> 

    </android.support.percent.PercentRelativeLayout> 
     </LinearLayout> 
</android.support.v4.widget.NestedScrollView> 
+0

immer noch nichts: /, ich verstehe es einfach nicht, warum es auf normalen Geräten funktioniert –

0

Das Kind Ansicht eines Scroll sollte wrap_content eingestellt werden. Wenn Sie es auf match_parent setzen, füllt es den Bereich der ScrollView und scrollt nie, weil es nicht größer als die ScrollView ist.

Versuchen Sie, das untergeordnete LinearLayout layout_height entweder auf wrap_content oder eine bestimmte Größe (in dp) anstelle von match_parent zu ändern.

EDIT:

Auch versuchen Höhe von match_parent der Scroll-Ansicht zu ändern, um zu wrap_content. Da die Bildlaufansicht das Blättern nur ermöglicht, wenn die Gesamthöhe größer als die Höhe der übergeordneten Ansicht ist.

Verwandte Themen