TextInputLayout未显示HTML样式文本

时间:2015-07-24 07:48:24

标签: android material-design android-design-library

我有一些片段中使用的TextInputLayouts。现在,对于其中一些提示,我需要显示下标或上标(例如g n 或s 2 )。当我在我的字符串资源中使用这些标记时,它们不会显示。我的资源看起来像这样:

<string name="some_string">meters<sup>2</sup></string>

关于TextInputLayout,我尝试用XML和编程方式设置提示,没有成功,如下所示:

<android.support.design.widget.TextInputLayout
    android:id="@+id/textInputLayout_example"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

        <EditText
            android:id="@+id/editText_example"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:digits="0123456789."
            android:selectAllOnFocus="true"
            android:ems="10"
            android:singleLine="true"
            android:maxLines="1"
            android:scrollHorizontally="true"
            android:hint="@string/some_string"/>

</android.support.design.widget.TextInputLayout>

TextInputLayout mTextInputLayout = (TextInputLayout) rootView.findViewById(R.id.textInputLayout_example);
mTextInputLayout.setHint(Html.fromHtml(getString(R.string.some_string)));

现在,我知道在开发人员指南中,它只提到支持<b>, <i>, and <u>,但查看https://github.com/android/platform_frameworks_base/blob/lollipop-mr1-release/core/java/android/content/res/StringBlock.java#L166您可以看到支持更多标签。

话虽如此,似乎没有标签在起作用。例如,如果我使用<i>标记,则文本不是斜体。此外,我尝试在纯文本视图上使用相同的字符串资源,但它也没有在那里工作。起初,我认为它只是一个M-DP2问题,所以我在KitKat模拟器中尝试过,它也没有在那里工作。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。我在设置文本而不是在xml中执行<sup>时修复了它。

.setText(Html.fromHtml(mContext.getString(R.string.YOUR_STRING) + 
"<sup><small>2</small></sup>"));