मैं जावा ( एक्सएमएल नहीं ) का उपयोग करने की कोशिश कर रहा हूं ताकि स्क्रीन को भरने वाले बटन के साथ एक लिनियरलाईट बनाया जा सके, और मार्जिन हो। यहाँ वह कोड है जो बिना मार्जिन के काम करता है:
LinearLayout buttonsView = new LinearLayout(this);
buttonsView.setOrientation(LinearLayout.VERTICAL);
for (int r = 0; r < 6; ++r) {
Button btn = new Button(this);
btn.setText("A");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose!
lp.weight = 1.0f; // This is critical. Doesn't work without it.
buttonsView.addView(btn, lp);
}
ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
setContentView(buttonsView, lp);
तो यह ठीक काम करता है, लेकिन आप धरती पर कैसे बटन बटन देते हैं ताकि उनके बीच जगह हो? मैंने प्रयोग करने की कोशिश की LinearLayout.MarginLayoutParams
, लेकिन इसका कोई weight
सदस्य नहीं है इसलिए यह अच्छा नहीं है। और यह काम नहीं करता है यदि आप इसे lp
इसके निर्माता में पास करते हैं या तो।
क्या यह असंभव है? क्योंकि यह सुनिश्चित है कि यह दिखता है, और यह पहला Android लेआउट कार्य नहीं होगा जिसे आप केवल XML में कर सकते हैं।