2013-03-26 6 views
30
TextView tv1 = new TextView(this);  
tv1.setPadding(5, 0, 5, 0); 
tv1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); 
tv1.setBackgroundColor(Color.parseColor("#0099cc")); 
tv1.setTextColor(Color.WHITE); 
tv1.setTextSize(11); 
tv1.setGravity(Gravity.LEFT | Gravity.BOTTOM); 
tv1.setText("Test1"); 
ll.addView(tv1); 

TextView tv2 = new TextView(this);  
tv2.setPadding(5, 0, 5, 0); 
tv2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); 
tv2.setBackgroundColor(Color.parseColor("#0099cc")); 
tv2.setTextColor(Color.WHITE); 
tv2.setTextSize(11); 
tv2.setGravity(Gravity.LEFT | Gravity.BOTTOM); 
tv2.setText("Test2"); 
ll.addView(tv2); 

जैसा कि आप देख सकते हैं, कोड की इस शांति में मैंने TextView के पृष्ठभूमि रंग को सेट किया है। मैं क्या करना चाहता हूं कि मैं इन दोनों TextView को एक-दूसरे से अलग करना चाहता हूं, ताकि उनके पृष्ठभूमि रंगों को एक पंक्ति से अलग किया जा सके। मैं नहीं चाहता कि वे कनेक्ट हों। जैसा कि मैं समझता हूं, ऐसा करना संभव होगा, अगर मैं TextView का मार्जिन सेट कर सकता हूं, लेकिन जैसा कि मुझे पता है, TextView ऐसा करने में सक्षम नहीं हैं।टेक्स्टव्यू प्रोग्रामेटिक रूप से मार्जिन कैसे सेट करें?

+0

आप कहाँ इन textViews जोड़ने के लिए जा रहे हैं? – Triode

+0

क्यों अपनी xml फ़ाइल में दृश्य को जोड़ने नहीं कर रहे हैं ... इस तरह <देखें एंड्रॉयड: layout_width = "match_parent" एंड्रॉयड: layout_height = "2dp" एंड्रॉयड: पृष्ठभूमि = "# 7C56C3" /> –

उत्तर

56

लेआउट पैराम्स पर सेट करें।

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.setMargins(10,10,10,10); 
tv1.setLayoutParams(params); 
+0

@SanjayKumar नहीं, एपीआई स्तर 1 इस कॉल का उपयोग कर सकते हैं। मैंने इस उत्तर के आधार पर एक उदाहरण बनाया है। https://github.com/shanwu/shanwu_coding_base/tree/programatically_add_textview_example – shanwu

+0

मैं एपीआई 14 का उपयोग करता हूं और यह एक आकर्षण की तरह काम करता है – iversoncru

+0

किस इकाई में यह मार्जिन सेट करेगा, मतलब डीपी, पीएक्स, एसपी या कुछ और में है? –

0

एंड्रॉइड में आकार का उपयोग करें। आकार में stroke कहा जाता है। इसका उपयोग करके आप सीमा देख सकते हैं। here, और here देखें।

tv1.setBackgroundResource(R.layout.your_shape); 

मुझे लगता है कि यह आप चाहते हैं। तो मुझे उम्मीद है कि यह आपकी मदद करेगा।

धन्यवाद।

0

यह एक कोशिश की जानी चाहिए

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT); 
     params.setMargins(10,20,30,20); 
     txt_gender.setLayoutParams(params); 
संबंधित मुद्दे