2013-10-09 6 views
5

दुर्भाग्य से मैं एडिटटेक्स्ट कार्यों के लिए इलिप्सिज़ बनाने में सक्षम नहीं हूं। टेक्स्ट बहुत अंत होने पर पाठ के अंत में तीन बिंदुओं को रखना संभव है? यह TextiView के लिए पूरी तरह से काम कर रहा है लेकिन संपादन टेक्स्ट के लिए नहीं। कुछ विचार?एडिटटेक्स्ट इलिप्सिज़ (तीन डॉट्स ...)

android:id="@+id/ed_email_personalInfo" 
android:layout_width="match_parent" 
android:layout_height="55dp" 
android:background="@color/transparent" 
android:ellipsize="end" 
android:ems="10" 
android:hint="@string/email" 
android:inputType="textEmailAddress" 
android:maxLength="64" 
android:paddingLeft="10dp" 
android:paddingRight="10dp" 
android:singleLine="true" 
android:textColorHint="@color/col9a9a9a" 
android:textSize="15.7sp" 

उत्तर

0

संपादन टेक्स्ट में संभव नहीं हो सकता है (जब तक कि आप अपना स्वयं का दृश्य नहीं बनाते)। मुझे लगता है कि डिफ़ॉल्ट व्यवहार (सिंगललाइन एडिटटेक्स्ट के लिए) यह है कि आप पाठ के किनारे स्क्रॉल कर सकते हैं जब यह दृश्य में फिट नहीं हो सकता है।

13

इस संपत्ति को टेक्स्ट संपादित करने के लिए सेट करें। Elipsize पाठ अक्षम संपादित

android:lines="1" 
    android:scrollHorizontally="true" 
    android:ellipsize="end" 
    android:singleLine="true" 
    android:editable="false" 
+0

धन्यवाद, पूरी तरह से ठीक काम किया :) –

+0

यह काम करता है। और scrollHorizontally और लाइन गुणों को स्क्रॉल करने की कोई आवश्यकता नहीं है। –

+2

एंड्रॉइड: संपादन योग्य संपत्ति को बहिष्कृत किया गया है और Google एंड्रॉइड का उपयोग करने की सिफारिश करता है: इनपुट टाइप। हालांकि, मेरे परीक्षण के मुताबिक, एंड्रॉइड मौजूद होने पर यह और काम नहीं करेगा: इनपुट टाइप – Jacky

-2

आप एक नया वर्ग है कि EditText फैली लिखने की जरूरत के साथ काम कर रहा है। उदाहरण के लिए:

MyEditTextEllipsize extends EditText{ 

private String dotsString; 

private String storeString; 

public MyEditTextEllipsize(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

@Override 
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { 
     super.onFocusChanged(focused, direction, previouslyFocusedRect); 

     if(focused) 

    { 
     setText(storeString); 
     }else { 
      String NOW = getText().toString(); 
       storeString = NOW; 
      if (NOW != null && getWidth() <= getTextSize() * NOW.length()) { 

        dotsString = NOW.substring(0, (int) (getWidth()/getTextSize())) + "..."; 

        setText(dotsString); 

       } 
} 

    } 
} 
9

आपको android:inputType विशेषता को हटाना होगा।

इनपुट टाइप टाइप होने पर Ellipsize काम नहीं करता है।

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