2012-08-10 12 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のテキストの行間隔に使用されているようです。複数のeditTextを配置するにはマージンを使用する必要があります。同じeditTextでspacingとcenter_verticalを使用しますか?それが可能かどうかは分かりません。 – cosmincalistru

+0

@cosmincalistru私はeditTextに2つ以上の行を持ち、クライアントは行間のカスタム距離を求めるので、これは私がこの距離を設定するために見つけた唯一の方法です。 –

答えて

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

これは解決策ではないため、 padding "はlineSpacingExtra/2でなければなりません(理論的にはこの余分なスペースはeditTextの上下に分散しています)。 –

+0

私はそれは解決策ではないハックだと言った。あなたの理論は悪いです。彼らはスペースが線の間に分散していると言います。最初の行の先頭は含まれません。 – cosmincalistru

+0

確かに、android:lineSpacingExtra:テキスト行間の余分なスペース。 ただし: public void setLineSpacing(float add、float mult):このTextViewの行間隔を設定します。各行は、その高さにmultを掛けて、それにaddが追加されます。 ここでは、加算値がちょうど上または下にあるとは限りません。実際には、私はちょうどその下に追加を見た...間違っている... –

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

あなたは質問をお読みですか? – Aballano

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 " –

関連する問題