2012-08-10 10 views
7

मैं लेआउट के साथ एक editText है:editText lineSpacingExtra मुद्दा

<EditText 
     android:id="@+id/edittext" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:text="test" 
     android:layout_margin="5dp" 
     android:gravity="left|center_vertical" 
     android:lineSpacingExtra="10dp" 
     android:lineSpacingMultiplier="1" 
     /> 

लेकिन पाठ lineSpacingExtra की वजह से खड़ी केंद्रित नहीं है। यह इस प्रकार से दिखाई देता है:

enter image description here

कैसे यह तो मैं lineSpacingExtra टैग रखने पर पाठ लंबवत रूप से केंद्रित है बनाने के लिए?

+0

लाइनस्पेसिंग एक्स्ट्रा का उपयोग उसी संपादन टेक्स्ट के टेक्स्ट की रेखाओं को स्थानांतरित करने के लिए किया जाता है। आपको एकाधिक संपादन टेक्स्ट को स्थानांतरित करने के लिए मार्जिन का उपयोग करना चाहिए। एक ही संपादन टेक्स्ट में स्पेसिंग और center_vertical का उपयोग करना? मुझे नहीं पता कि यह संभव है या नहीं। – cosmincalistru

+0

@cosmincalistru मेरे पास मेरे संपादन में दो और लाइनें होंगी टेक्स्ट और क्लाइंट ने लाइनों के बीच एक कस्टम दूरी होने के लिए कहा है, इसलिए यह एकमात्र तरीका है जिसे मैंने इस दूरी को सेट करने के लिए पाया है –

उत्तर

2

मुझे यह अनुकरण करने का एक तरीका मिला लेकिन वास्तविक समाधान नहीं। आप पैडिंग टॉप जोड़ सकते हैं लेकिन यह एक सुरक्षित समाधान नहीं है।

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:paddingTop="18dp" 
    android:gravity="left|center_vertical" 
    android:lineSpacingExtra="10dp" 
    android:lineSpacingMultiplier="1" 
    android:text="test" /> 
+0

यह एक समाधान नहीं है क्योंकि केवल " पैडिंग "लाइनस्पेसिंग एक्स्ट्रा/2 होना चाहिए, सिद्धांत कैसे कहता है (यह अतिरिक्त स्थान सैद्धांतिक रूप से संपादन टेक्स्ट के ऊपर और नीचे वितरित किया जाता है)। –

+0

मैंने आपको बताया कि यह एक हैक समाधान नहीं है। और आपका सिद्धांत खराब है। वे कहते हैं कि अंतरिक्ष लाइनों के बीच वितरित किया जाता है। इसमें पहली पंक्ति के शीर्ष शामिल नहीं हैं। – cosmincalistru

+0

वास्तव में, एंड्रॉइड: लाइनस्पेसिंग एक्स्ट्रा: टेक्स्ट की रेखाओं के बीच अतिरिक्त अंतर। लेकिन: सार्वजनिक शून्य सेटलाइन स्पेसिंग (फ्लोट एड, फ्लोट मल्टी): इस टेक्स्ट व्यू के लिए लाइन स्पेसिंग सेट करता है। प्रत्येक पंक्ति में इसकी ऊंचाई बहु द्वारा गुणा हो जाएगी और इसमें अतिरिक्त जोड़ दिया जाएगा। तो यहां यह नहीं कहा गया है कि जोड़ा गया मूल्य ऊपर या नीचे है। प्रैक्टिस में, मैंने नीचे बस जोड़ दिया ... जो गलत है ... –

-3
android:lineSpacingExtra="Your Value" 
android:lineSpacingMultiplier="Your Value" 
+0

क्या आपने सवाल पढ़ा था? – Aballano

0

मेरे लिए यह मैं पहली बार अनुभव किया जब वेब पर मौजूद फ़ॉर्म डिजाइन और गलत सीएसएस पाठ और अधिक स्थान फ़ील्ड प्रदान करने के प्रयास में विशेषताओं का उपयोग कर एक परिचित मुद्दे की तरह लगता है।

तो - इस lineSpacingExtra विशेषता के बारे में क्यों न भूलें और केवल पैडिंग शीर्ष & पैडिंग नीचे का उपयोग करें?

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="5dp" 
    android:paddingTop="10dp" 
    android:paddingBottom="10dp" 
    android:gravity="left|center_vertical" 
    android:text="test" /> 
0

मैंने अभी यह किया है TextView यह ठीक काम करता है।

  <TextView 
      android:id="@+id/txtWelcome" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="@string/activation" 
      android:lineSpacingMultiplier="1.5" 
      android:textAppearance="@style/CleverFingerThemeLarge" 
      android:textColor="@color/DFTextColor" /> 

अगर मैं एंड्रॉयड डाल: lineSpacingExtra = "20dp"

मैं लाइनों के बीच की खाई को और अधिक मिलता है।

मेरे उदाहरण में @ स्ट्रिंग/सक्रियण = एक बहु पंक्ति पाठ है।

android:includeFontPadding="false" 
android:lineSpacingExtra="1" 
android:lineSpacingMultiplier="0dp" 

अपने अतिरिक्त गद्दी दूर जाना चाहिए:

0

आप निम्नलिखित सेट करते हैं!

+0

'lineSpacingMuliplier' इकाई के बिना एक फ़्लोटिंग पॉइंट मान होना चाहिए, जैसे" 1.4 " –

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