AlignmentSpan不适用于RadioButton文本

rci*_*ati 12 android

我正在尝试RadioButton使用AlignmentSpan该类将右侧的一部分文本对齐.但它无法正常工作,因为文本未按预期对齐.

SpannableStringBuilder builder = new SpannableStringBuilder();

builder.append(option.getLabel());

int start = builder.length() + 1;

builder.append(" ");
builder.append(price);
builder.append("€");

int end = builder.length();

builder.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE), start, end,
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD);

builder.setSpan(bss, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

从代码中我可以看到,我也应用了一个StyleSpan正常工作.

NB RadioButton有android:layout_width="match_parent"

roc*_*k3r 2

随机建议,可能有效也可能无效,但是...您是否尝试在字符串中注入 Unicode 控制字符?(不正确)使用 U+200E、U+200F、U+202A...U+202E 等字符,您可以让文本渲染器相信它们是 RTL 与 LTR 混合的一部分。不确定这是否有帮助,无论如何,您可能需要将内容放在单独的段落中,但这是我现在唯一能想到的。