2012-08-10 118 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

lineSpacingExtra似乎用於間隔相同editText文本的行。您應該使用保證金來分隔多個editTexts。在同一個editText中使用spacing和center_vertical?我不知道這是否可能。 – cosmincalistru 2012-08-10 08:32:12

+0

@cosmincalistru我的editText中會有兩行以上的內容,而客戶端被要求是行間的自定義距離,所以這是我發現設置這個距離的唯一方法 – 2012-08-10 08:34:41

回答

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

這不是一個解決方案,因爲唯一的「填充「必須是lineSpacingExtra/2,理論上是怎麼說的(理論上這個額外的空間分佈在editText的上下)。 – 2012-08-10 08:44:12

+0

我告訴過你,這不是一個解決方案。你的理論不好。他們說這個空間分佈在兩條線上。這不包括第一行的頂部。 – cosmincalistru 2012-08-10 09:08:10

+0

確實,android:lineSpacingExtra:文本行之間的額外間距。但是: public void setLineSpacing(float add,float mult):爲此TextView設置行間距。每行將其高度乘以mult並添加添加。 所以這裏並沒有說增值是剛好在上面還是下面。在實踐中,我看到在...下面添加...哪個是錯的... – 2012-08-10 09:19:16

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

你讀過這個問題了嗎? – Aballano 2013-04-15 08:02:33

0

對我來說,這種感覺就像一個熟悉的問題,設計了網絡上的形式和使用不正確的CSS,企圖給文本字段的詳細屬性的空間,當我第一次經歷。

所以 - 爲什麼不忘記這個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」

我得到線之間的多種間隙。

在我的例子中@ string/activation =是一個多行文本。

0

如果你設置如下:

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

您微胖應該走開!

+0

'lineSpacingMuliplier'必須是沒有單位的浮點值,比如「1.4」 – 2014-10-06 05:43:15