上标<sup>标签不起作用

时间:2016-04-05 16:06:07

标签: android

((Button) findViewById(R.id.sqrBtn)).setText(Html.fromHtml("x<sup>2</sup>"));

<Button style="@style/calcBtn" android:text="@string/sqr" android:id="@+id/sqrBtn" />

这两个都表明:

SUP tag not working

但它适用于TextView。只是按钮有这个问题(与Subscript and Superscript a String in Android不同,感谢理解)

在:

  • SM-G920F Galaxy S6 - Android 6.0.1(STOCK) - API v23

  • GT-I9100 Galaxy S2 - Android 6.0.1(CM13) - API v23

其他信息:

标签:

<style name="calcBtn">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">35sp</item>
    <item name="android:layout_weight">1</item>
    <item name="android:textColor">#f2f2f2</item>
    <item name="android:background">#282828</item>
    <item name="android:paddingTop">12dp</item>
    <item name="android:paddingBottom">12dp</item>
</style>

风格:

public static IEnumerable<Tuple<TValue, string>> TraverseValuesWithPaths<T, TValue>(this IEnumerable<T> items,
    Func<T, IEnumerable<T>> childSelector, Func<T, IEnumerable<TValue>> valueSelector, Func<T, string> childNameSelector, Func<TValue, string> valueNameSelector, string pathStart = null, string separator = null)
    {
        Func<string, string, string> pathCombine = (a, b) => string.Concat(a, separator, b);

        var stack = new Stack<Tuple<T, string>>(items.Select(i => new Tuple<T, string>(i, pathCombine(pathStart, childNameSelector(i)))));

        while (stack.Any())
        {
            var next = stack.Pop();

            foreach (var child in childSelector(next.Item1))
            {
                stack.Push(new Tuple<T, string>(child, pathCombine(next.Item2, childNameSelector(child))));
            }

            var values = valueSelector(next.Item1);

            if (values != null)
            {
                foreach (var value in values)
                {
                    yield return new Tuple<TValue, string>(value, pathCombine(next.Item2, valueNameSelector(value)));
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:3)

android:textAllCaps="false"上尝试Button。默认情况下,在Theme.MaterialTheme.AppCompat上,您将获得所有上限,这会中断您尝试应用于Button文字的任何格式。