2013-06-02 6 views
8

से परे विस्तारित करता है मुझे अचानक समस्या है कि स्क्रॉलव्यू स्क्रीन के नीचे से फैली हुई है ताकि यदि आप नीचे से नीचे स्क्रॉल करते हैं तो यह उसकी सभी सामग्री को प्रदर्शित नहीं करता है। एक्सएमएल है:स्क्रॉलव्यू स्क्रीन नीचे

<?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" 
    android:background="#FFFFFFFF"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="15dp" 
     android:background="#FFBBBBBB" 
     android:orientation="vertical" > 
     <View 
      android:layout_width="100dp" 
      android:layout_height="300dp" 
      android:layout_margin="15dp" 
      android:layout_gravity="center_horizontal" 
      android:background="#FFDDDDFF"/> 
     <View 
      android:layout_width="100dp" 
      android:layout_height="300dp" 
      android:layout_margin="15dp" 
      android:layout_gravity="center_horizontal" 
      android:background="#FFDDDDFF"/> 
    </LinearLayout> 
</ScrollView> 

इससे इससे कोई आसान नहीं मिलता है। एक बार जब आप नीचे सभी तरह से (के रूप में स्क्रोलर के आकार द्वारा इंगित) आप नीचे सफेद मार्जिन देखना चाहिए स्क्रॉल किया है, लेकिन इसके बजाय यह यह क्या लग रहा है की तरह है:

bottom of the scrollview

शीर्ष के साथ तुलना करें:

top of the scrollview

नीचे शीर्ष की तरह दिखना चाहिए, केवल उलट दिया जाना चाहिए। यह एम्यूलेटर में वास्तविक उपकरणों पर और हर एंड्रॉइड संस्करण में मैंने कोशिश की है। मुझे नुकसान हुआ है कि मैं क्या गलत कर रहा हूं (अगर कुछ भी ...)।

कृपया कोई अनुमान नहीं है और कूल्हे से कोई शूटिंग नहीं! केवल परीक्षण किए गए उत्तरों। मैंने पहले से ही इस पर पर्याप्त समय बर्बाद कर दिया है। धन्यवाद।

उत्तर

0

स्क्रॉल व्यू के निचले हिस्से में पैडिंग डालने का प्रयास करें, ताकि आप नीचे एक सफेद रेखा देखें - आपका दृश्य वास्तव में नीचे स्क्रॉल करता है, मैंने इसे इस कोड से आजमाया और परिणाम यह है:

<?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" 

    android:background="#FFFFFFFF" 
    android:padding="5dp" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="15dp" 
    android:background="#FFBBBBBB" 
    android:orientation="vertical" > 

    <View 
     android:layout_width="100dp" 
     android:layout_height="1500dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="15dp" 
     android:background="#FFDDDDFF" /> 

    <View 
     android:layout_width="100dp" 
     android:layout_height="300dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="15dp" 
     android:background="#FFDDDDFF" /> 

    <View 
     android:layout_width="100dp" 
     android:layout_height="10dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_margin="15dp" 
     android:background="#FF00FF00" /> 
</LinearLayout> 

enter image description here

+0

एक बार वास्तव में इस तरह के खेल खेलने की कोशिश कर सकते हैं लेकिन यह एक हैक, नहीं एक सच्चे समाधान है। – olefevre

+0

पीएस: नीचे कुछ सफेद देखकर खुद में अंत नहीं है! चूंकि लीनियरलाउट के सभी किनारों पर मार्जिन है, इसलिए नीचे मार्जिन यह संकेत है कि आप वास्तव में नीचे पहुंच गए हैं; बस इतना ही। – olefevre

7

मृत गलियों में ज्यादा समय बर्बाद कर के बाद मुझे अंत में इस other SO thread से सही रास्ते पर डाल दिया गया था: मुद्दा LinearLayout पर लेआउट मार्जिन था। स्पष्ट रूप से स्क्रॉलव्यू इसे पसंद नहीं करता है, जैसे कि यह अपने बच्चे को केंद्रित नहीं करना चाहता है (कई अन्य लोगों द्वारा ध्वजांकित एक मुद्दा, लेकिन मेरी समस्या यहां नहीं है) और कौन जानता है कि और क्या है। बहुत चुनिंदा विजेट। इस तरह के मुद्दे हैं जो मुझे एंड्रॉइड के प्रति अपनी प्रतिबद्धता पर पुनर्विचार करते हैं: वैकल्पिक प्लेटफ़ॉर्म के सापेक्ष यह बहुत समय लेने वाला है और यहां तक ​​कि यदि आप चुनौती का आनंद लेते हैं, तो समय धन है।

वैसे भी, जो यहां बाद में फ्लॉप करेंगे, उनके लाभ के लिए, यहां एक टूटी हुई लेआउट (उपरोक्त में से एक का सरल संस्करण) का एक साइड-बाय-साइड प्रदर्शन है और दाईं ओर एक काम करने वाला व्यक्ति है। चाल एक अतिरिक्त कंटेनर पर पैडिंग के साथ verboten मार्जिन अनुकरण करने के लिए है।

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#00FFFF" 
    android:orientation="horizontal" 
    android:baselineAligned="false"> 
    <ScrollView   
     android:layout_width="0dp" 
     android:layout_weight="1"  
     android:layout_height="match_parent" 
     android:background="#FFFFFFFF"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="15dp" 
      android:background="#FFBBBB22" 
      android:orientation="vertical"> 
      <View 
       android:layout_width="100dp" 
       android:layout_height="1000dp" 
       android:layout_margin="15dp" 
       android:layout_gravity="center_horizontal" 
       android:background="#FFDDDDFF"/> 
     </LinearLayout> 
    </ScrollView> 
    <View 
     android:layout_width="1dp" 
     android:layout_height="match_parent" 
     android:background="#FF000000"/> 
    <ScrolllView 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="match_parent" 
     android:background="#FFFFFFFF"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="15dp" 
      android:background="#FFFFFF" 
      android:orientation="vertical"> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#FFBBBB22" 
       android:orientation="vertical"> 
       <View 
        android:layout_width="100dp" 
        android:layout_height="1000dp" 
        android:layout_margin="15dp" 
        android:layout_gravity="center_horizontal" 
        android:background="#FFDDDDFF"/> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 
0

बस एक और एक इस तरह अंदर LinearLayout डालने की कोशिश:

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

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

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="15dp" 
      android:background="#FFBBBBBB" 
      android:orientation="vertical"> 

      <View 
       android:layout_width="100dp" 
       android:layout_height="300dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="15dp" 
       android:background="#FFDDDDFF" /> 

      <View 
       android:layout_width="100dp" 
       android:layout_height="300dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_margin="15dp" 
       android:background="#FFDDDDFF" /> 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 
संबंधित मुद्दे