2013-10-03 6 views
7

मेरे पास GridView है, जो वर्णमाला की तस्वीरें प्रदर्शित करता है क्या होता है, आखिरी पंक्ति में हर बार वर्णमाला की कम संख्या नहीं होती है। और अंतिम पंक्ति गठबंधन छोड़ दिया है, नहीं दिखता है जो अच्छा तो मैं केंद्र में होने की अंतिम पंक्ति बनाना चाहते हैं, कोई सुझावएंड्रॉइड में ग्रिड व्यू में पिछली असमान पंक्ति को कैसे रद्द करें?

मेरे GridView कोड:

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grid_view" 
    android:layout_width="fill_parent" 
    android:layout_marginRight="20dp" 
    android:layout_marginTop="20dp" 
    android:layout_height="fill_parent" 
    android:numColumns="auto_fit" 
    android:columnWidth="70dp" 
    android:horizontalSpacing="10dp" 
    android:verticalSpacing="20dp" 
    android:gravity="center" 
    android:stretchMode="spacingWidthUniform" > 

</GridView> 

enter image description here

enter image description here

+0

लपेटें वर्तमान अनुकूलक कर सकते हैं कि आपने 'ग्रिड व्यू' पर एक और एडाप्टर के साथ सेट किया है जो कुछ अतिरिक्त डमी तत्वों (यदि आवश्यक हो) डालेगा तो आपके अंतिम आइटम केंद्रित होंगे। – Luksprog

+0

@Luksprog: लेकिन स्तंभों में से कोई भी स्क्रीन आकार पर निर्भर करता है, मैं कैसे गणना कर सकता हूं कि –

+0

और अधिक तत्व जोड़ने के लिए मुझे लगता है कि आप 'ViewTreeObserver' का उपयोग कर सकते हैं और वहां देख सकते हैं कि' ग्रिड व्यू 'का उपयोग करने वाले कितने कॉलम हैं ('getNumColumns() ') और फिर उस मान के आधार पर एक एडाप्टर परिवर्तन (यदि आवश्यक हो तो तत्व जोड़ना) ट्रिगर करें। एक अंतहीन पाश में खुद को पाने के लिए सावधान रहें। – Luksprog

उत्तर

-1

आप एक सापेक्ष लेआउट के अंदर ग्रिड पंक्ति को केंद्रित कर सकते हैं और फिर android:layout_centerHorizontal="true" को वर्णमाला 01 में जोड़ सकते हैंहै। मान लीजिए कि वे ImageView हैं।

तो अपने GridView कुछ इस तरह में लिपटे किया जाएगा:

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_cotent" 
    android:orientation="horizontal" > 

    <GridView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/grid_view" 
     android:layout_width="fill_parent" 
     android:layout_marginRight="20dp" 
     android:layout_marginTop="20dp" 
     android:layout_height="fill_parent" 
     android:numColumns="auto_fit" 
     android:columnWidth="70dp" 
     android:horizontalSpacing="10dp" 
     android:verticalSpacing="20dp" 
     android:gravity="center" 
     android:stretchMode="spacingWidthUniform" > 

    </GridView> 
</RelativeLayout> 

और व्यक्तिगत वर्णमाला छवियों android:layout_centerHorizontal="true" इस तरह की आवश्यकता होगी:

<ImageView 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:layout_centerHorizontal="true" 
</ImageView> 
0

मैं एक ही समस्या है, लेकिन मैं इस में कामयाब पिछली पंक्ति को छोड़कर दूसरी ग्रिडव्यू के साथ, पिछली पंक्ति को छोड़कर पंक्तियों को प्रदर्शित करने वाले पहले ग्रिडव्यू के साथ दो ग्रिडव्यू का उपयोग करना। मुझे जो चाहिए वह हासिल करने का यह सबसे आसान तरीका है। मुझे एक बेहतर समाधान नहीं मिला है। एक अच्छा और सरल तरीका भी देखने के लिए तत्पर हैं।

+1

यदि आप दो ग्रिड दृश्यों का उपयोग कर रहे हैं, तो मुझे लगता है कि तालिका दृश्य अधिक आसान होगा –

0

आप, यह सबसे कारगर समाधान अदृश्य तत्वों का उपयोग कर की कोशिश कर सकते हैं, लेकिन आसान है, आप पंक्ति के अंत में दो तत्वों, शुरू में एक, एक डाल दिया और उन्हें अदृश्य

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