2012-07-03 8 views
47

मुझे एंड्रॉइड में EditText के भीतर संकेत टेक्स्ट को केंद्र में रखने की आवश्यकता है। मैं यह कैसे करु?मैं एंड्रॉइड में एडिटटेक्स्ट के भीतर संकेत टेक्स्ट कैसे केंद्रित करूं?

+4

उपयोग XML विशेषता एंड्रॉयड: गुरुत्वाकर्षण = "केन्द्र" –

+0

हाँ इस स्थिति के लिए आवश्यक है सटीक केंद्र में पाठ। –

उत्तर

65

संपादन टेक्स्ट के साथ काम करने के लिए संकेत टेक्स्ट को केंद्रित करने के लिए आपको एंड्रॉइड सुनिश्चित करना होगा: ellipsize = "start" परिभाषित किया गया है। मुझे नहीं पता कि यह क्यों काम करता है, लेकिन यह करता है।

उदाहरण व्यक्तिगत कोड से खींचा: इस XML विशेषता

<EditText 
    android:id="@+id/player2Name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:ellipsize="start" 
    android:gravity="center_horizontal" 
    android:hint="@string/player2_name" 
    android:inputType="textCapWords|textPersonName" 
    android:singleLine="true" /> 
+0

स्टैक ओवरव्लो में पोस्टिंग और आपका स्वागत है! हां, ellipsize = "प्रारंभ" इस पर असर डालता है। यकीन नहीं क्यों या तो। इसके बिना संकेत मेरे लिए नहीं दिखाता है। –

+4

मुझे लगता है कि मैं यहां बहुत देर हो चुकी हूं, लेकिन आज मैंने यह जवाब देखा है और इस बात को याद किया है कि यहां एंड्रॉइड की आवश्यकता नहीं है: इलिप्सिज़ = "प्रारंभ करें" संकेत केंद्र बनाने के लिए, AFAIK। मेरा जवाब देखें यह भी उपयोगी हो सकता है। –

+1

जैसा कि अन्य उत्तरों में बताया गया है, यह एंड्रॉइड है: गुरुत्वाकर्षण = "केंद्र" (या एक समान संस्करण) जो टेक्स्ट को केंद्रित करता है, न कि लंबित। – hBrent

25

उपयोग:

एंड्रॉयड: गुरुत्वाकर्षण = "केन्द्र"

+1

हां पाठ को केन्द्रित करना आवश्यक है। लंबवत और क्षैतिज रूप से। –

+0

यह कॉन्स्ट्रेनट्सआउट –

28

असल android:gravity="center_horizontal" करता है "केन्द्र" प्रभाव। आप

एंड्रॉयड का उपयोग कर सकते हैं: गुरुत्वाकर्षण = "शुरू"

EditText दृश्य और इतने पर की शुरुआत में संकेत पाठ डाल करने के लिए।

+2

धन्यवाद के अंदर संपादन के साथ काम करता है। मैंने 'एंड्रॉइड: ellipsize =" start "के साथ प्रयास किया और कोई बदलाव नहीं हुआ। 'एंड्रॉइड जोड़ना: गुरुत्वाकर्षण =" center_horizontal "' चाल चल रही थी। एक बार फिर धन्यवाद। –

+0

मेरे लिए काम करता है धन्यवाद – HCarrasko

8

उपयोग विशेषता

android:gravity="center" 
7

मैं हर परिस्थितियों में इस कोड का इस्तेमाल किया है, और यह एंड्रॉयड का उपयोग किए बिना पूरी तरह से काम करता है: एल्लिप्साइज = "शुरू" केंद्र में एक संकेत बनाने के लिए।

<EditText 
    android:id="@+id/player2Name" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    android:hint="robi" 
    android:inputType="text" /> 
3

दुर्भाग्य से, न तो इस सवाल का जवाब मुझे मदद की संकेत, लीटर भाषा में लिखे गए संरेखित, जबकि लेआउट उन्मुखीकरण RTL था। मुझे ओवरले आइकन बनाने के लिए आरटीएल टेक्स्ट में हस्तक्षेप करने के लिए किसी प्रकार के अनुवाद एप्लिकेशन में ऐसे लेआउट की आवश्यकता नहीं थी। लेकिन इस चाल संकेत के साथ काम नहीं किया है, जबकि वहाँ कोई किसी भी पाठ अभी तक था (प्रतीक संकेत ऊपर दिखाई दिया) और मैं इस समस्या लेआउट के लिए निम्न जावा समाधान के लिए आया था:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
. . . 
     if (isRightToLeft()){ 
      EditText guess = (EditText) rootView.findViewById(android.R.id.text1); 
      CharSequence hint = "\u200F" + guess.getHint(); 
      guess.setHint(hint); 
     } 
. . . 
} 

चाल राइट हैं- में था बाएं से दाएं स्ट्रिंग को प्रीपेड करने के लिए बाएं चिह्न। और ऐसा लगता है, लेकिन क्या कोई और अधिक सुरुचिपूर्ण समाधान जानता है?

2

मुझे लगता है कि इस सवाल का जवाब होना चाहिए:

android:textAlignment="center" 
+0

मैं मानता हूं, यह टेक्स्ट केवल केंद्र के लिए सही संकेत है और संकेत नहीं। – 0101100101

+0

गुरुत्वाकर्षण कभी-कभी विफल रहता है। यह काम करता है, धन्यवाद – j2emanue

0

यह मेरे लिए काम किया: EditText में

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/nombreslayoutinput"> 
    <EditText 
     android:id="@+id/nombreslayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/nombres" 
     android:layout_centerInParent="true" 
     android:gravity="center|center_vertical" 
     android:ellipsize="start" 
     android:inputType="textCapWords|textPersonName" 

     /> 
</android.support.design.widget.TextInputLayout> 
0

उपयोग android:textAlignment="center", इसके लिए काम मुझे

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