2012-06-23 19 views
7

के विपरीत करता है मुझे एंड्रॉइड के साथ समस्या हो रही है। मैं जावा में वज़न पैरामीटर सेट कर रहा हूं, लेकिन यह वही है जो मैं चाहता हूं।एंड्रॉइड: वजन पैरामीटर प्रोग्रामेटिक रूप से सेट करना मुझे

यहाँ कोड

LinearLayout container = new LinearLayout(context); 
// some code ... 
container.setWeightSum(1f); 

View v1 = new View(context); 
v1.setBackgroundColor(Color.parseColor("#ff0000")); 
LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); 
p1.weight=0.1f; 

View v2 = new View(context); 
v2.setBackgroundColor(Color.parseColor("#000000")); 
LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT); 
p2.weight=0.9f; 

container.addView(v1,p1); 
container.addView(v2,p2); 

मैं कंटेनर लेआउट के बीच एक काले रंग की लाइन को जोड़ने के साथ इस प्रक्रिया को दोहराने 7 बार है। आम तौर पर मैं lef पर एक छोटा सा लाल स्तंभ, और एक बड़ा काला एक मिलना चाहिए, लेकिन यहाँ मैं इस कोड के साथ क्या मिलता है:

http://i.stack.imgur.com/PPgoy.png

यह वास्तव में कोड के विपरीत क्यों कर रहा है?

आपकी मदद लोगों के लिए धन्यवाद।

+0

आप क्या करने की कोशिश कर रहे हैं? ज्यादातर काले रंग के साथ ज्यादातर काले? यदि ऐसा है तो बस अपने वजन मूल्यों को स्विच करें, आपके पास पिछड़ा है। – FoamyGuy

+0

बच्चों के साथ चौड़ाई 0 के साथ प्रयास करें –

+1

@hehereshSingh ग्रेट! यह बच्चों के लिए चौड़ाई 0 के साथ काम किया। आपका बहुत बहुत धन्यवाद! :) – Firas

उत्तर

11

जब हम का उपयोग वजन चौड़ाई होना चाहिए शून्य

कंटेनर के अंदर बच्चों के साथ के लिए चौड़ाई 0 के साथ प्रयास करें .............

LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.WRAP_CONTENT); 



LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.WRAP_CONTENT); 
+1

धन्यवाद, यह बहुत अच्छा काम किया! – Firas

+0

हमेशा स्वागत है ...... :) –

1

आप सेट कर रहे हैं दोनों चौड़ाई "wrap_content" ... वजन का उपयोग करते समय आपको प्रभावित अभिविन्यास को "0 डीपी" (या यह प्रोग्रामेट समतुल्य) पर सेट करना चाहिए।

+0

हाँ, यह बच्चों की चौड़ाई को 0 डीपी पर सेट करने के साथ काम करता था। धन्यवाद! – Firas

+0

यह मुझे भी मार रहा था। लेकिन विचित्र बात यह है कि WRAP_CONTENT का उपयोग करते समय यह बिल्कुल विपरीत क्यों है? –