2013-06-15 27 views
14

de marjı ilerleyin değildir:Scrollview şöyle basit bir düzen alt

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#D23456" > 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:background="#FFFFFF" > 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="800dp" 
      android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 

</ScrollView> 

Scrollview arka plan pembe ve lineer düzeni içindeki 800dp yüksekliğinde android simgesi imajı vardır (Bu ekrana uymuyor). Görmeyi umduğum şey, bu görüntü yüzdesinin her iki tarafta 10dp'lik (üst, alt, sol, sağ) bir kenar boşluğu olan pembe bir arka planda yüzer. Ancak, aşağıya doğru kaydırdığımda, kaydırma görünümü kenar boşluğu, bu yüzden kaydırmanın alt kısmı pembe kenar boşluğunun değil resim görüntüsündedir.

Bunu nasıl önleyebilirim? Bu, kullanıcının sayfanın henüz bitmediğini ve onu daha fazla kaydırmak istediğini düşünmesini sağlar. ScrollView üzerinde

cevap

44

Daha sonra benzer bir durum zaten @olefevre aşağıdaki iplik https://stackoverflow.com/a/16885601/1474471 yanıtlandı, öğrendim.

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#D23456" 
    android:padding="10dp" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#FFFFFF" > 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="800dp" 
      android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 
</LinearLayout> 

</ScrollView> 
+1

Sadece bir FYI, bir "LinearLayout" olmak zorunda değil. Bir "RelativeLayout" kullanıyorum. – theblang

+0

Bu çözüm ... bir cazibe gibi çalıştı ..! @Mehmet Katircioglu – TheFlash

+1

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ – TheIT

0

kullanım android:fillViewport="true" bunu yapabilir. this thread içinde

örneğin.

+0

Bu özelliğin farkındayım, ancak bu durumda çalışmıyor (kendiniz deneyin). Bir şey eksik olabiliriz. –

+2

Benim için çalışmadı. – theblang

6
@Mehmet Katırcıoğlu tarafından gönderildi çözüm iyi çalışıyor

ancak çözebilir: dolguya sahip olan cari LinearLayout çevreleyen ekstra LinearLayout ekleme ve iç LinearLayout düzeni-marjı çıkarmadan

sorunu çözüldü basitçe android değişen sorun:için android layout_margin: yok ekstra görünümü yoktur, doldurma. Bunun gibi:

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#D23456" 
     android:padding="10dp" > 

     <!-- Your content (ImageView, buttons...) --> 
    <LinearLayout/> 
İlgili konular