如何在 spannable 中的 2 行之间添加边距或填充?
How can I add margin or padding between 2 lines in spannable?
我正在使用 spannable 在 2 行中创建一个字符串,其中每行具有不同的字体。
除了一件事,它工作正常。
如何在第一个字符串和第二个字符串之间添加一些边距?
所以我这样做:
String a = "First line";
String b = "Second line";
SpannableString spannableName = new SpannableString(a + "\n" + b);
spannableName.setSpan(new TextAppearanceSpan(activity, R.style.my_style),0,a.length(), 0);
和my_style
<style name="my_style">
<item name="android:layout_marginBottom">100dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:textSize">@dimen/size</item>
<item name="android:textColor">@color/mycolor</item>
</style>
我做错了什么?
我想在 a
和 b
之间添加一些 padding/margin。
我的样式中的 paddings/margins 很大,因为我不确定它们是否适用(测试编号)
那必须是您正在使用的 UI 控件的 属性。
我假设您将文本设置为 TextView
。您可以使用 textView.setLineSpacing(addvalue, multiplyValue)
。这会将 addValue
个单位添加到间距并将其乘以 multiplyValue
倍。
同样,如果你想通过样式设置它,你可以将这些值添加到你的样式中:
<item name="android:lineSpacingExtra">SoemDPValue</item>
<item name="android:lineSpacingMultiplier">someNumber</item>
这里是你如何使用 RelativeSizeSpan 来做到这一点:
String a = "First line";
String b = "Second line";
SpannableString spannableName = new SpannableString(a + "\n" + b);
spannableName.setSpan(new TextAppearanceSpan(activity, R.style.my_style),0,a.length(), 0);
spannableName.setSpan(new RelativeSizeSpan(1.5f), a.length(), a.length() + 1, 0);
RelativeSizeSpan 将使“\n”字符比 "a" 和 "b" 字符串大 1.5。
我正在使用 spannable 在 2 行中创建一个字符串,其中每行具有不同的字体。
除了一件事,它工作正常。
如何在第一个字符串和第二个字符串之间添加一些边距?
所以我这样做:
String a = "First line";
String b = "Second line";
SpannableString spannableName = new SpannableString(a + "\n" + b);
spannableName.setSpan(new TextAppearanceSpan(activity, R.style.my_style),0,a.length(), 0);
和my_style
<style name="my_style">
<item name="android:layout_marginBottom">100dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:textSize">@dimen/size</item>
<item name="android:textColor">@color/mycolor</item>
</style>
我做错了什么?
我想在 a
和 b
之间添加一些 padding/margin。
我的样式中的 paddings/margins 很大,因为我不确定它们是否适用(测试编号)
那必须是您正在使用的 UI 控件的 属性。
我假设您将文本设置为 TextView
。您可以使用 textView.setLineSpacing(addvalue, multiplyValue)
。这会将 addValue
个单位添加到间距并将其乘以 multiplyValue
倍。
同样,如果你想通过样式设置它,你可以将这些值添加到你的样式中:
<item name="android:lineSpacingExtra">SoemDPValue</item>
<item name="android:lineSpacingMultiplier">someNumber</item>
这里是你如何使用 RelativeSizeSpan 来做到这一点:
String a = "First line";
String b = "Second line";
SpannableString spannableName = new SpannableString(a + "\n" + b);
spannableName.setSpan(new TextAppearanceSpan(activity, R.style.my_style),0,a.length(), 0);
spannableName.setSpan(new RelativeSizeSpan(1.5f), a.length(), a.length() + 1, 0);
RelativeSizeSpan 将使“\n”字符比 "a" 和 "b" 字符串大 1.5。