2010-09-23 14 views
173

के लिए गुरुत्वाकर्षण सेट किया है, मैं अपने वांछित परिणाम प्राप्त करने के लिए टेक्स्टव्यू पर android:gravity="bottom|center_horizontal" का उपयोग कर सकता हूं, लेकिन मुझे इसे प्रोग्रामेटिक रूप से करने की आवश्यकता है। मेरा टेक्स्टव्यू tablerow के अंदर है यदि यह relativelayout में मायने रखता है।एंड्रॉइड ने टेक्स्टव्यू प्रोग्रामेटिक रूप से

मैं कोशिश की है:

LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL); 
labelTV.setLayoutParams(layoutParams); 

लेकिन अगर मैं सही ढंग से समझ, कि tablerow, नहीं TextView पर लागू होगा?

TextView ta = (TextView) findViewById(R.layout.text_view); 
LayoutParams lp = new LayoutParams(); 
lp.gravity = Gravity.CENTER_HORIZONTAL; 
ta.setLayoutParams(lp); 

उत्तर

422
labelTV.setGravity(Gravity.CENTER | Gravity.BOTTOM); 

इसके अलावा, आप के बारे में गुरुत्वाकर्षण या layout_gravity के बारे में बात कर रहे हैं:

+0

धन्यवाद कि काम किया। मुझे याद आ रही है कि अब मुझे थोड़ा मूर्खतापूर्ण लगता है। मूल रूप से समस्या टेक्स्ट फ़ील्ड पर मार्जिन सेट कर रही थी। मुझे लगता है कि मैंने माना क्योंकि मुझे सेटमैर्गिन() विधि नहीं मिल सका जो सेट गुरुत्वाकर्षण मौजूद नहीं होगा। – Nate

+0

सुपरबी ..................... –

+7

धन्यवाद +1, मुझे प्रलेखन मिला, लेकिन सामान्य रूप से यह केवल आधा रास्ता जाता है, स्पष्ट रूप से यह नहीं बताता कि मुझे कहां मिलता है गुरुत्वाकर्षण स्थिरांक (Gravity.CENTER आदि) से। –

32

यह एक पाठ दृश्य का टेक्स्ट केंद्रित कर देगा? उत्तरार्द्ध सापेक्ष Layout में काम नहीं करेगा।

+3

यह काम नहीं किया। "lp.gravity को हल नहीं किया जा सकता है या कोई फ़ील्ड नहीं है" – Nate

+0

अजीब बात है क्योंकि यह कोड मेरे लिए ठीक काम करता है और संकलित करता है। आप टेक्स्टव्यू का वजन कैसे सेट करेंगे क्योंकि उनकी कोई सेटवेइट() विधि नहीं है? – radiofrequency

+4

मुझे समस्या मिली। नेट आयात कर रहा है android.view.ViewGroup। उस वर्ग में विभिन्न प्रकार के तरीके हैं और संकलित नहीं होते हैं। आपको इसके बजाय android.view.WindowManager आयात करना चाहिए। – Finnboy11

10

हम नीचे रास्ता

myView = findViewById(R.id.myView); 
myView.setGravity(Gravity.CENTER_VERTICAL|Gravity.RIGHT); 
or 
myView.setGravity(Gravity.BOTTOM); 

की तरह किसी भी दृश्य पर लेआउट गुरुत्वाकर्षण सेट कर सकते हैं इस एक्सएमएल कोड नीचे

<... 
android:gravity="center_vertical|right" 
... 
.../> 
+0

लेआउट गुरुत्वाकर्षण गुरुत्वाकर्षण के समान नहीं है –

1

आप textView.setGravity(Gravity.CENTER_HORIZONTAL); का उपयोग करना चाहिए करने के लिए equilent है।

याद रखें कि

LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
layoutParams2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; 

का उपयोग कर काम नहीं करेगा। यह विजेट के लिए गुरुत्वाकर्षण सेट करेगा, न कि इसके पाठ के लिए।

1

इस कोड

 TextView textView = new TextView(YourActivity.this); 
     textView.setGravity(Gravity.CENTER | Gravity.TOP); 
     textView.setText("some text"); 
0
textView.setGravity(Gravity.CENTER | Gravity.BOTTOM); 

यह आपके TextView की गंभीरता को निर्धारित करेगा प्रयोग करें।

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