[英]How to set a SpannableString to an EditText in an Android Material TextInputLayout?
我找不到將 Material TextInputLayout
中EditText
的文本設置為SpannableString
並讓樣式實際顯示在屏幕上的方法。 我已經嘗試了TextInputLayout
內EditText
的每種組合,例如:
AppCompatEditText
EditText
TextInputEditText
以各種方式創建SpannableString
,例如:
HtmlCompat.fromHtml(string, HtmlCompat.FROM_HTML_MODE_COMPACT)
SpannableString(string).setSpan(...)
TextUtils.stringOrSpannedString(string)
以各種方式設置EditText
的文本,例如:
edittext.setText(spannedString)
edittext.setText(spannedString, TextView.BufferType.SPANNABLE)
edittext.append(spannedString)
瘋狂的是,當 EditText 不在 Material TextInputLayout
中時,它們都可以工作,所以這一定是個問題。 更多信息:當您在TextInputLayout
上設置提示或占位符文本時,會尊重SpannableString
,而不是其中的EditText
的文本。 我查看了TextInputLayout
源代碼,但沒有發現任何錯誤。 感謝任何能提供幫助的人。
當我要放棄的時候,我想通了。 您可以從EditText
獲取Editable
的 object,然后將Span
應用於它。 就是這樣:
mEditText.text.setSpan(...)
當您知道在哪里尋找時,這非常容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.