2016-07-20 24 views
1

Ich habe eine ScrollView mit einem RelativeLayout als Kind. Dies ist alles in einem RelativeLayout verschachtelt.RelativeLayout ScrollView Höhe nicht überschreiten

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

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/fpScrollView" 
     android:fillViewport="true"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/fpRelativeLayout"> 

Bild, wie es aussieht enter image description here

Wenn ich nun eine Marge von 50dp zum Scroll hinzuzufügen, paßt der RelativeLayout die Höhe der Scroll-Ansicht und schneidet die Taste, anstatt zu erweitern und damit zum Scrollen . enter image description here

Irgendwelche Ideen, wie Sie das beheben können? Ich möchte, dass RelativeLayout den Inhalt tatsächlich umschließt und nicht abschneidet.

+2

Ich möchte Sie fragen: Zu welchem ​​Zweck verschachteln Sie eine ScrollView in einem RelativeLayout? – herrmartell

+0

Ich sehe, dass diese Bilder im UI-Builder-Teil von Android Studio aufgenommen wurden. Was passiert, wenn Sie das Projekt tatsächlich ausführen? Ich erwarte, dass Sie im Gegensatz zu dem in Android Studio enthaltenen UI-Builder tatsächlich scrollen können. – TheAnonymous010

+0

@ S.Martell gibt es eine Alternative? – Bradsta

Antwort

0

Ich fand eine Lösung. Eine der Ansichten innerhalb der ScrollView wurde an der horizontalen/vertikalen Mitte ausgerichtet, was im Kontext einer Ansicht, die ihre Größe dynamisch ändert, keinen Sinn ergibt. Dies führte dazu, dass RelativeLayout in der ScrollView-Datei einfach die Größe der ScrollView-Datei beibehielt und nicht den Inhalt umbrachte.

Wenn Ihr gesamtes Layout scrollbar ist, würde ich vorschlagen, das Basislayout zu einem ScrollView anstatt zu einem RelativeLayout zu machen, wie ich es oben getan habe.

+0

ScrollViews und NestedScrollViews sind in der Regel die Top-Eltern. Wenn sie nicht in einem kleinen Fragment oder einem ViewPager enthalten sind, ein anderes Layout als Elternteil macht wenig Sinn. – herrmartell