काम नहीं कर रहा है, मैं एक साधारण GridLayout
का उपयोग कर रहा हूं जिसमें मैं गतिशील रूप से बटन जोड़ रहा हूं।GridLayout के लिए SetGravity
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tagGridLayout"
android:background="@color/white"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:columnCount="3"
>
</GridLayout>
और मैं अपने ग्रिड को भरने के लिए इस जावा कोड का उपयोग कर रहा हूं जो कि ठीक काम कर रहा है सिवाय इसके कि सेट ग्रेविटी विकल्प कुछ भी नहीं करता है। मैंने कोशिश की है - एक्सएमएल फ़ाइल में विभिन्न प्रकारों में लेआउट_विड्थ बदलना, GridLayout
आदि में गुरुत्वाकर्षण जोड़ना जैसा कि इस साइट के अन्य समाधानों में उल्लिखित है। ध्यान देने योग्य एक और बात यह है कि मैं इसे एक टुकड़े के अंदर एक Async कार्य में कर रहा हूँ। मूल रूप से मैं प्राप्त करना चाहता हूं कि layout_gravity="fill_horizontal"
एक्सएमएल में प्राप्त करता है।
tagButtons = new Button[trendingTagsCount];
for(int i=0;i<trendingTagsCount;i++)
{
tagButtons[i] = new Button(getActivity());
//tagButtons[i].setLayoutParams(new LayoutParams(Gravity.FILL_HORIZONTAL));
tagButtons[i].setText(getTagsList.get(i).tag);
tagButtons[i].setGravity(Gravity.FILL_HORIZONTAL);
tagButtonGrid.addView(tagButtons[i]);
}
अभी भी जवाब नहीं मिला है हालांकि मैंने बटन.सेटमैक्सविड्थ() और ऊंचाई के लिए एक समझौता किया है। – RaWa
आप ऐसा कुछ कर सकते हैं ... लेआउटपार्म परम; एलपी = (लेआउट पैराम्स) टैगबटन [i] .getLayout पैराम(); lp.gravity = गुरुत्वाकर्षण। FILL_HORIZONTAL; टैगबटन [i] .setLayout पैराम (एलपी); –