Android में ellipsize का क्या मतलब है?


199

मैंने EditTextअपने लेआउट में एक जोड़ा है, और एक संकेत जोड़ा है, और इसे क्षैतिज रूप से केंद्रित किया है।

एप्लिकेशन चलाते समय, संकेत अदृश्य था। मैंने पाया कि मुझे होने का ellipsizeमूल्य बनाना TextViewचाहिए start:

<EditText
    android:id="@+id/number1EditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="start"
    android:ems="10"
    android:gravity="center_horizontal"
    android:hint="@string/hint1" />

Android प्रलेखन में, मैंने पढ़ा:

यदि सेट किया जाता है, तो ऐसे शब्द जो दृश्य से अधिक लंबे होते हैं
, बीच में टूटने के बजाय दीर्घवृत्त होने के लिए विस्तृत होते हैं ।

समस्या यह है कि ellipsizeशब्दकोश में नहीं पाया जाता है। क्या कोई मुझे समझा सकता है कि हम ellipsizeगुण द्वारा क्या लाभ प्राप्त कर सकते हैं ? और के बीच अंतर क्या है start, end, middle?


कृपया मेरे अद्यतन उत्तर को देखें।
रिंकल भंडेरी 19

2
btw: वास्तविक शब्द "दीर्घवृत्त" बना है। इसे "क्रिया संज्ञा" कहा जाता है और यह कंप्यूटर शब्दजाल बनाने का एक सामान्य तरीका है। संज्ञा "दीर्घवृत्त" है, जो मुझे लगता है कि आप जानते हैं, और यह एक क्रिया में बना है "समाप्त" का अर्थ है जो "बनाने के लिए" का अर्थ है, इसलिए आप अनुमान लगा सकते हैं कि "दीर्घवृत्त" को "एक दीर्घवृत्त जोड़ना" है कुछ कुछ"।
माइकल एडेनफील्ड

4
पुरानी वर्तनी की गलती, कभी सही नहीं हुई। शब्द वास्तव में "दीर्घवृत्त" होना चाहिए। एलिप्से दो फोकल बिंदुओं के आसपास के समतल पर एक वक्र होता है जैसे कि एक सीधी रेखा किसी एक बिंदु पर केंद्र बिंदु से किसी एक बिंदु पर खींची जाती है। एलिप्सिस तीन डॉट्स हैं।
राडले

दीर्घवृत्त के प्रलेखन में अभी भी लापता विवरण है।
तलहा

अभी भी मेरे लिए आधे शब्दों में कटौती करता है। मुझे एक टुकड़े में रहने के लिए शब्दों की आवश्यकता है। लानत है
filthy_wizard 15

जवाबों:


388

आप यहाँ प्रलेखन पा सकते हैं ।

अपनी आवश्यकता के आधार पर आप विकल्प के अनुसार प्रयास कर सकते हैं।

करने के लिए एल्लिप्साइज , एक नवनिर्मित प्रयोग, एक का उपयोग कर छोटा पाठ करने के लिए साधन अंडाकार , यानी तीन बिंदुओं ...या अधिक सामान्यतः संयुक्ताक्षर , छोड़े गए बिट्स के लिए में खड़े रहने के लिए।

मूल मूल्य कहो पीएफ पाठ दृश्य है aaabbbccc और देखने के अंदर इसकी फिटिंग

startउत्पादन होगा: ... bccc

endउत्पादन होगा: आब ...

middleउत्पादन होगा: आ ... cc

marqueeआउटपुट होगा: आबबेक ऑटो दाहिने से बायें खिसक रहा है


धन्यवाद। लेकिन मैंने पहले ही पढ़ लिया है। यह "ellipsized" शब्द का उपयोग करता है जहां मैं इसके अर्थ के बारे में खोज कर रहा हूं। इस शब्द का उपयोग इसकी परिभाषा में नहीं किया जा सकता है !! कोई और स्पष्टीकरण कृपया?
हम्जेह सोबोह

60

मेरे अनुभव के लिए, एलिप्सिस केवल तभी काम करता है जब नीचे दो विशेषताएँ निर्धारित की जाती हैं।

android:ellipsize="end"
android:singleLine="true"

टेक्स्टव्यू की चौड़ाई के लिए, wra_content या match_parent दोनों अच्छे होने चाहिए।


2
वास्तव android:singleLineमें एपीआई स्तर 3 के बाद से हटा दिया गया था, इसलिए इसके बजाय उपयोग करें android:maxLines। कृपया ध्यान दें:> यदि सिंगललाइन और इनपुट टाइप दोनों की आपूर्ति की जाती है, तो इनपुट टाइप फ्लैग सिंगललाइन के मान को ओवरराइड कर देगा। R.attr.html # singleLine
फ़िलिप

1
@AlbertoGaona मैंने देखा है कि यह काम नहीं करता है अगर android: ellipsize = "start" और android: maxLines = "2" (या अधिक)। मैंने शुरुआत में कोई डॉट्स नहीं देखा है, हालांकि टेक्स्ट बहुत लंबा था।
ka3ak

17

How to Add an ellipsis in a TextView

android: ellipsize को API Level 1 में जोड़ा गया है। एक ellipsis एक पंक्ति में तीन अवधियाँ है। ... ()।

अपने Xml में

 <TextView
       ....
       android:text="Hi I am Amiyo,you can see how to ellipse works."
       android:ellipsize = "end"  
   />

इस बिंदु पर, दीर्घवृत्त अभी तक प्रदर्शित नहीं होगा क्योंकि नया पाठ दर्ज किए जाने पर एक टेक्स्ट दृश्य स्वचालित रूप से डिफ़ॉल्ट पर विस्तार करने के लिए सेट है। आपको किसी तरह TextView को सीमित करने की आवश्यकता होगी। ऐसा करें, आप TextView a scrollHorizontally, minLines, or maxLinesदीर्घवृत्त प्रदर्शित करने के लिए या तो अपने ऐड में उपयोग कर सकते हैं ।

दीर्घवृत्त बनाने के लिए:

    at the end: this is how it would...     
   use: android:ellipsize = "end"

तथा

 in the middle: this is ...how it would
use: android:ellipsize = "middle"

तथा

 at the start: ...this is how it would
use: android:ellipsize = "start"

तथा

 to have no ellipse
use: android:ellipsize = "none"

कृपया ध्यान दें:

 Do not use android:singeLine = "true", it is deprecated.
android:maxLines = "1" will not display the three dots (...)
android:lines = "1" will not display the three dots (...)

अधिक जानकारी के लिए आप यहां जा सकते हैं

http://developer.android.com/reference/android/widget/TextView.html#attr_android%3aellipsize


10

एक दीर्घवृत्त एक पंक्ति में तीन अवधियों ...

TextView एक दीर्घवृत्त का उपयोग करेगा जब वह अपने सभी पाठ को दिखाने के लिए विस्तार नहीं कर सकता है। ellipsizedयदि आवश्यक हो, तो विशेषता तीन बिंदुओं की स्थिति निर्धारित करती है।


5

पाठ:

 This is my first android application and
 I am trying to make a funny game,
 It seems android is really very easy to play.

ऊपर मान लीजिए कि आपके पाठ है और यदि आप उपयोग कर रहे हैं ellipsizeकी startविशेषता इसे इस तरह देखा जाएगा

This is my first android application and
...t seems android is really very easy to play.

endविशेषता के साथ

 This is my first android application and
 I am trying to make a funny game,...

3

यहाँ एक उदाहरण दिया गया है कि कैसे एक कॉन्स्ट्रेण्टलैटआउट में वंचित का उपयोग किए बिना काम करता है android:singleLine="true":

<TextView
   android:layout_width="0dp"
   android:layout_height="wrap_content"
   android:textSize="13sp"
   android:ellipsize="end"
   android:maxLines="2"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   tools:text="long long long long long long text text text" />

याद रखें कि यदि आपके पास एक पाठ है जो एक ही पंक्ति में होना चाहिए, तो अधिकतम 1 में बदलें ।


धन्यवाद इस समाधान ने मेरी समस्या को ठीक कर दिया। इसके android:layout_width="0dp"बजाय कुंजी है android:layout_width="wrap_content"। ध्यान दें कि यह लागू है क्योंकि मैं एक का उपयोग कर रहा हूँ ConstraintLayout। इसके अलावा यहां चर्चा की गई stackoverflow.com/a/48149405/2848676
माइकल ओसोफस्की

1

नोट: आपका पाठ निम्नलिखित मार्की के लिए कंटेनर बॉक्स से बड़ा होना चाहिए:

 android:ellipsize="marquee"    

1

पाठ संपादित करने के लिए यह गुण सेट करें। Elipsize डिसेबल एडिट टेक्स्ट के साथ काम कर रहा है

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

या सेटकेलिस्टनर (अशक्त);


उपर्युक्त सभी गुण और समुच्चय संपत्ति को छोड़कर setKeyListener (नल)।
मुबारक

0

दीर्घवृत्त का उपयोग करें जब आपने चौड़ाई तय की है, तो यह पाठ को स्वचालित रूप से काट देगा और अंत में दीर्घवृत्त दिखाएगा,

यह काम नहीं करेगा यदि आप लेआउट_ एक्सपर्ट को wra_content & match_parent के रूप में सेट करते हैं।

android:width="40dp"
android:ellipsize="end"
android:singleLine="true"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.