2012-09-18 3 views
6

Ich verwende derzeit ein Layout, das ein RelativeLayout in einem ScrollView enthält.Android paddingBottom funktioniert nicht ohne paddingTop

ich die RelativeLayout wollen von der Unterseite des Scroll enthaltenen 5dp entfernt werden, damit es nicht den Hintergrund ich dahinter hat sich überlappen, um dies zu erreichen ich diese XML wurde mit:

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/backgroundView1" 
    android:fadingEdge="none" 
    android:scrollbars="none" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp"> 

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

Das funktionierte perfekt aber ich brauche die Polsterung nicht mehr oben. Wenn Sie die paddingTop-Zeile entfernen, funktioniert paddingBottom nicht mehr. Selbst wenn ich den paddingBottom auf 100dp setze, hat das keine Auswirkung auf mein Layout.

I paddingTop = „0DP“ versucht, und dass das Problem entweder nicht zu beheben, so scheint es paddingBottom wird nur funktionieren, wenn paddingTop oben 0. bekam

Wer irgendwelche Ideen, warum paddingBottom funktioniert nicht ohne paddingTop?

+1

Ich habe versucht, Sie Code und es funktioniert, wenn die obere Polsterung Null ist. Ich habe ein relatives Layout als übergeordnetes Layout verwendet. – Gan

Antwort

0

Sie schrieb xml Eigenschaft android: layout_alignParentBottom = "true" so Ihre Scroll immer wird es Boden ausgerichtet werden.

Entfernen Sie android: layout_alignParentBottom = "true" und versuchen Sie es erneut.

0

Verwenden Sie diese Art von Layout für Scrollview und ändern Sie nach Ihren Bedürfnissen .. Verwenden Sie nicht das relative Layout in Scrollview. Hier können Sie jede Art Höhe in Bild gesetzt und nach wie vor werden Sie padding unten ohne paddingTop sehen

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/backgroundView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ScrollView 
     android:id="@+id/scrollView" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:background="#cccccc" 
     android:paddingBottom="5dp" 
     android:scrollbars="none" > 

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

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="700dp" 
       android:background="@android:color/transparent" 
       android:scaleType="fitXY" 
       android:src="@drawable/image2" /> 
     </LinearLayout> 
    </ScrollView> 

</LinearLayout> 
0

Sie

android:layout_marginTop="10dip" 

oder

android:layout_marginBottom="20dip" 
-1

für verwenden Dies ist mit (5 dp) Abstand oben und unten

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/backgroundView1" 
    android:fadingEdge="none" 
    android:scrollbars="none" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp"> 

    <RelativeLayout 
     android:id="@+id/innerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:layout_marginBottom="5dp"> 
    </RelativeLayout> 
</ScrollView> 

Dies ist für (5 dp) Platz nach oben, unten, links und rechts

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignTop="@+id/backgroundView1" 
    android:fadingEdge="none" 
    android:scrollbars="none" 
    android:paddingTop="5dp" 
    android:paddingBottom="5dp"> 

    <RelativeLayout 
     android:id="@+id/innerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="5dp"> 
    </RelativeLayout> 
</ScrollView>