2012-02-21 22 views
16

मैं एक टैबलेट के लिए एक छोटा ऐप बना रहा हूं, जो डिस्प्ले साइन की तरह कुछ है।एंड्रॉइड टेक्स्ट संरेखण संपादित करें

मेरे पास कुछ टेक्स्ट तत्व हैं जो प्रदर्शन चिह्न में केंद्रबद्ध हैं। जब मैं इसे टैप करता हूं, तो इसे संपादन टेक्स्ट में परिवर्तित कर दिया जाता है। मैं संपादन पाठ को इस तरह से चाहता हूं कि इसमें पाठ केंद्र गठबंधन और सामग्री लपेटा गया हो। लेकिन जब मैं कुछ इनपुट करता हूं, तो संपादन टेक्स्ट दोनों तरीकों का विस्तार करता है, पाठ को केंद्र में गठबंधन रखता है। मैं सही गठबंधन पाठ तत्वों के साथ एक ही काम करना चाहता हूं (केवल अंतर यह है कि संपादन टेक्स्ट केवल बाईं ओर विस्तारित होगा)।

जब मैं इस इसे अभी left.This की ओर बढ़ती है क्या करने के लिए कोशिश कर रहा हूँ संपादित पाठ तत्व

tempView=new EditText(this); 
((EditText) tempView).setTextSize(shrinkedFontSize); 
((EditText) tempView).setTypeface(tf); 
((EditText) tempView).setText(tempInput.getText());  
((EditText) tempView).setGravity(Gravity.CENTER); 
layout.addView(tempView, tempParams); 

मैं लेआउट में Wrap_content के रूप में लेआउट की चौड़ाई की स्थापना कर रहा हूँ बिछाने के लिए अपने कोड है मापदंडों। मैंने संपादन टेक्स्ट के ऊपरी बाएं कोने के लिए अपने लेआउट पैरामीटर में एक्स और वाई भी निर्दिष्ट किया है।

क्या यह हासिल करने का कोई तरीका है?

उत्तर

35

यह आपकी समस्या का समाधान करना चाहिए:

EditText t = (EditText) findViewById(R.id.text); 
t.setGravity(Gravity.CENTER); 

... XML में:

<EditText 
    android:id="@+id/text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:inputType="text" /> 

यह EditText inputField दर्ज किया गया टेक्स्ट क्षैतिज रूप से केंद्रित करता है।

आप layout_widthfill_parent से 150 डीपी या किसी अन्य आकार से बदल सकते हैं, लेकिन wrap_content नहीं। पाठ क्षैतिज केंद्रित किया जाएगा।

t.setGravity(Gravity.RIGHT); या LEFT सेट करें, जो टेक्स्ट को बाएं या दाएं संरेखण में डाल देता है।

10

यह एक परीक्षण किया गया सरल समाधान है। संपादन टेक्स्ट के केंद्र में टेक्स्ट को संरेखित करने के लिए बस लेआउट XML फ़ाइल में android:gravity="center" जोड़ें। जावा कोड बदलने की जरूरत नहीं है।

<EditText 
    android:id="@+id/LastName" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/back" 
    android:inputType="numberDecimal" 
    android:gravity="center" /> 
संबंधित मुद्दे