行間のAndroid TextViewパディング


217

長いテキストを表示するTextViewがあります。CSSのようにline-heightプロパティを使用して、行間にスペースを空けたい どうすればできますか?

回答:


407

あなたは使用することができますlineSpacingExtraし、lineSpacingMultiplierあなたのXMLファイルインチ


13
アンドロイド::のような浮動小数点値を持つ私にとってlineSpacingMultiplier作品lineSpacingMultiplier =「0.8」
フアン・サラビア教授

7
これらがどのように機能するか説明できますか?これらの測定値はどこから取得されていますか?フォントと言語に関する例を挙げていただけますか?たとえば、行間隔はベースラインから測定されますが、東アジア言語にはベースラインがありません。デフォルトの行間隔はどこに定義されていますか?フォント自体にありますか?
クリストファーペリー

例:android:lineSpacingExtra = "2dp"
nibbana


73

テキスト間のパディングが必要な場合 LineSpacingExtra="10dp"

<TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:lineSpacingExtra="10dp"/>

29

この補足的な回答は、行間を変更した場合の影響を示しています。

ここに画像の説明を入力してください

乗数や追加の間隔を設定できます

textView.setLineSpacing(float add, float mult)

または、値を取得することができます

int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra();          // API 16+
float mult = tvSampleText.getLineSpacingMultiplier();    // API 16+

ここで式は

lineHeight = fontMetricsLineHeight * mult + add

デフォルトの乗数は1で、デフォルトの追加の間隔は0です。




4

解決策は簡単です。これら2つの属性をTextViewlineSpacingExtraおよびlineSpacingMultiplier

例えば、

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.