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