2015-11-20 13 views
7

करने के लिए दृश्य जोड़ने जब एक्सएमएल द्वारा बटन जोड़ा - गतिशील रूप से सभी अच्छेसंरेखण सही नहीं जब गतिशील GridLayout

When adding buttons through XML

<GridLayout 
    android:id="@+id/social_gl_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_centerHorizontal="true" 
    android:alignmentMode="alignBounds" 
    android:columnCount="2" 
    android:padding="8dp"> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="45dp" 
     android:layout_columnWeight="1"> 
     <Button 
      android:layout_width="fill_parent" 
      android:layout_height="45dp" 
      android:background="@android:color/holo_blue_light" 
      android:text="Hi"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="45dp" 
     android:layout_columnWeight="1"> 
     <Button 
      android:layout_width="fill_parent" 
      android:layout_height="45dp" 
      android:background="@android:color/holo_green_light" 
      android:text="Whatsapp"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="45dp" 
     android:layout_columnWeight="1"> 
     <Button 
      android:layout_width="match_parent" 
      android:layout_height="45dp" 
      android:background="@android:color/holo_green_light" 
      android:text="This is facebook" 
      /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="45dp" 
     android:layout_columnWeight="1"> 
     <Button 
      android:layout_width="match_parent" 
      android:layout_height="45dp" 
      android:background="@android:color/holo_blue_light" 
      android:text="On" 
      /> 
    </LinearLayout> 

</GridLayout> 

जब जोड़ा बटन (कोड आधार पर) - संरेखण लापता, बटन

की पूर्ण चौड़ाई पर कब्जा नहीं कर रहे बटन

enter image description here

+0

यहाँ एक बार देख ले .. http://stackoverflow.com/questions/10016343/gridlayout-not-gridview-how-to-stretch-all-children-evenly – Sjd

+0

कोशिश इस parms LinearLayout.LayoutParams = नया LinearLayout.LayoutParams (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); बी.सेट लयआउट पैराम्स (पैरा); –

उत्तर

5
गुजर अशक्त करने के बजाय

: इतना है कि वी सही लेआउट पैरामीटर है

View v = inflater.inflate(R.layout.grid_item, null);

parentView गुजरती हैं।

View v = inflater.inflate(R.layout.grid_item, gl, false);

+0

https://possiblemobile.com/2013/05/layout-inflation-as-intended/ –

+0

मैंने मूल समस्या को दोहराया, फिर मैंने इस समाधान की कोशिश की और एक खाली स्क्रीन के साथ समाप्त हो गया। – Tequilaman

1

इस प्रयास करें:

LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
b.setLayoutParams(parms); 
+0

कुछ भी नहीं हुआ। –

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