2013-06-27 11 views
6

के नीचे तक सभी तरह से स्क्रॉल नहीं करेगा, इसलिए मेरे पास एक LinearLayout के साथ स्क्रॉलव्यू है। ऐसा लगता है कि जब मैं अपने लाइनरलेआउट के नीचे स्क्रॉल करने का प्रयास करता हूं, तो नीचे ~ 5 डुबकी काट दिया जाता है (यानी नीचे मार्जिन) मुझे लगता है कि यह मेरे लाइनरलेआउट के 5 डीआईपी मार्जिन के साथ कुछ करने के लिए हो सकता है?(एंड्रॉइड) स्क्रॉलव्यू मेरे LinearLayout

यहाँ activity_create_account.xml है:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_gravity="top" 
android:background="@drawable/grey" 
android:orientation="vertical" 
android:padding="0dp" 
tools:context=".Login" > 

<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:weightSum="100" 
android:orientation="vertical"> 

<!-- BEGIN HEADER --> 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:background="@drawable/titlebar" 
    android:orientation="horizontal" 
    android:padding="8dip" > 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:padding="0dp" 
     android:text="create account" 
     android:textColor="#FFFFFF" 
     android:textSize="32sp" 
     android:textStyle="bold" 
     android:typeface="sans" /> 
</LinearLayout> 
<!-- END HEADER --> 

<!-- BEGIN BODY --> 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="top" 
    android:orientation="vertical"> 

<LinearLayout 
    android:id="@+id/innerLinearLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dip" 
    android:background="@drawable/rounded_white" 
    android:orientation="vertical" 
    android:padding="5dip" > 

    <EditText 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" 
      android:ems="10" 
      android:id="@+id/etCreateEmail" 
      android:hint="Email" 
      android:layout_weight="1" 
      android:paddingTop="8dip" 
      android:paddingBottom="8dip" 
      android:paddingRight="8dip" 
      android:paddingLeft="8dip" 
      android:layout_marginBottom="4dip" 
      android:layout_marginTop="5dip"/> 
    <EditText 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" 
      android:ems="10" 
      android:id="@+id/etCreateEmail" 
      android:hint="Email" 
      android:layout_weight="1" 
      android:paddingTop="8dip" 
      android:paddingBottom="8dip" 
      android:paddingRight="8dip" 
      android:paddingLeft="8dip" 
      android:layout_marginBottom="4dip" 
      android:layout_marginTop="5dip"/> 
    <EditText 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" 
      android:ems="10" 
      android:id="@+id/etCreateEmail" 
      android:hint="Email" 
      android:layout_weight="1" 
      android:paddingTop="8dip" 
      android:paddingBottom="8dip" 
      android:paddingRight="8dip" 
      android:paddingLeft="8dip" 
      android:layout_marginBottom="4dip" 
      android:layout_marginTop="5dip"/> 
    <EditText 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" 
      android:ems="10" 
      android:id="@+id/etCreateEmail" 
      android:hint="Email" 
      android:layout_weight="1" 
      android:paddingTop="8dip" 
      android:paddingBottom="8dip" 
      android:paddingRight="8dip" 
      android:paddingLeft="8dip" 
      android:layout_marginBottom="4dip" 
      android:layout_marginTop="5dip"/> 
    <EditText 
     android:id="@+id/etChooseUsername" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="4dip" 
     android:layout_weight="1" 
     android:ems="10" 
     android:hint="Choose a username" 
     android:inputType="text" 
     android:paddingBottom="8dip" 
     android:paddingLeft="8dip" 
     android:paddingRight="8dip" 
     android:paddingTop="8dip" /> 
    <EditText 
     android:id="@+id/etChoosePassword" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="4dip" 
     android:layout_weight="1" 
     android:ems="10" 
     android:hint="Choose a password" 
     android:inputType="textPassword" 
     android:paddingBottom="8dip" 
     android:paddingLeft="8dip" 
     android:paddingRight="8dip" 
     android:paddingTop="8dip" /> 
    <EditText 
     android:id="@+id/etRetypePassword" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="4dip" 
     android:layout_weight="1" 
     android:ems="10" 
     android:hint="Re-type password" 
     android:inputType="textPassword" 
     android:paddingBottom="8dip" 
     android:paddingLeft="8dip" 
     android:paddingRight="8dip" 
     android:paddingTop="8dip" /> 

    <Button 
     android:id="@+id/bCreateAccountConfirm" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_weight="1" 
     android:background="@drawable/button_selector" 
     android:padding="0dip" 
     android:text="Create Account" 
     android:textColor="#ffffff" 
     android:textStyle="bold" 
     android:typeface="sans" /> 
</LinearLayout> 
</ScrollView> 
<!-- END BODY --> 

यहाँ यह कैसा जब मैं नीचे सभी तरह से स्क्रॉल करने के लिए कोशिश दिखाई देता है (वहाँ बटन & नीचे सफेद रंग की एक पतली धारा तो एक स्लिम होना चाहिए था ग्रे मार्जिन की धारा) enter image description here

+1

'एंड्रॉइड होने के बजाय: लेआउट_मर्गिन =" 10 डीआईपी "' एंड्रॉइड पर: id = "@ + id/innerLinearLayout" ',' android: padding = "10dip" '' स्क्रॉलव्यू' – bogdan

+0

@bogdan पर रखें मैंने अपने स्क्रॉलव्यू पर पैडिंग लगाई है, यह अभी भी मेरे आंतरिक लेआउट के नीचे कटौती करता है (और स्क्रीन के निचले हिस्से में एक भयानक 10 डीआईपी-व्यापी ग्रे सेक्शन छोड़ देता है चाहे वह स्क्रॉल हो, चाहे 0) –

+0

मैंने सवाल थोड़ा गलत पढ़ा होगा, स्क्रॉलव्यू, श्री के लिए 10 डीपी पैडिंग के बारे में मैंने जो परिवर्तन कहा, उसे भूल जाओ। आप "खाता बनाएं" बटन को नीचे एक छोटा मार्जिन रखने के लिए चाहते हैं, इसलिए 'एंड्रॉइड: लेआउट_मर्गिनबॉटम =" 10 डीपी "' एंड्रॉइड पर रखें: id = "@ + id/bCreateAccountConfirm" ' – bogdan

उत्तर

8

अपने scrollview में कुछ 10dp को padding_bottom जोड़ें। यह काम करेगा।

क्षैतिज दृश्य के नीचे शेष दृश्य इस क्षैतिज दृश्य से ऊपर हो सकता है। उस मामले

  1. में HorizontalView id="@+id/horizontalView"
  2. करने के लिए एक आईडी जोड़े क्षैतिज दृश्य के नीचे ध्यान में रखते हुए below="@+id/horizontalView" जोड़ें।
+0

सहित अंत तक स्क्रॉल किया गया धन्यवाद धन्यवाद आप बहुत ज्यादा नरेश :) –

+0

"क्षैतिज दृश्य" से आपका क्या मतलब है? – rmtheis

+0

इसे "क्षैतिज स्क्रॉलव्यू" में बदल दिया गया है, मुझे लगता है कि –

3

आप को marginBottom सेट कर सकते हैं अपने scrollview

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="top" 
    android:layout_marginBottom="10dp" 
    android:orientation="vertical"> 
+2

मुझे एक समान समस्या थी, और यह स्क्रॉल व्यू के अंदर टेक्स्टव्यू पर मार्जिन के कारण था। टेक्स्टव्यू से मार्जिन को हटाकर, और स्क्रॉलव्यू में जोड़ने का मतलब था कि सभी टेक्स्ट दृश्यमान थे और उम्मीद के अनुसार स्क्रॉल किया गया था।मेरे मामले में, मेरे पास 20 डीपी मार्जिन था इसलिए एक पूरी लाइन गायब थी, इसलिए मैंने इसे टेक्स्टव्यू के निचले मार्जिन से हटा दिया, और स्क्रॉल में जोड़ा गया। – WallyHale

+0

मेरे मामले में कारण यह था कि TableLayout 2 डीपी की ऊंचाई के साथ dividers का उपयोग कर रहा था। मेरे पास 30 पंक्तियां थीं, इसलिए मुझे 60 डीपी का मार्जिनबॉटम जोड़ना पड़ा और आखिरकार आखिरी पंक्ति – maximus

7

मुझे एहसास है कि यह प्रश्न थोड़ा पुराना है - लेकिन उन लोगों के लिए जो Google के माध्यम से इसे ढूंढेंगे, मैं कुछ प्रकाश डालने की कोशिश करूंगा।

ऐसा लगता है कि जेनेरिक स्क्रॉलव्यू ऑब्जेक्ट अन्य भाई बहनों के साथ लेआउट के अंदर उपयोग किए जाने पर अच्छी तरह से नहीं खेलता है। इस प्रकार, Google ने NestedScrollView बनाया है। प्रलेखन से,

NestedScrollView सिर्फ scrollview की तरह है, लेकिन यह दोनों एक नेस्टेड स्क्रॉल माता पिता और एंड्रॉयड के दोनों नए और पुराने संस्करणों पर बच्चे के रूप में कार्य का समर्थन करता है।

मैं एक यह सवाल बना हुआ है करने के लिए एक ऐसी ही समस्या थी और NestedScrollView का उपयोग कर अपने मूल scrollview के निचले भाग में कट ऑफ सफाया कर दिया।

+0

धन्यवाद! मुझे बहुत समय बचाया और एक आकर्षण की तरह काम किया –

संबंधित मुद्दे