[英]TextView in Android doesn't show any text after '/' character
我有一個 TextView 顯示參數名稱、參數值和單位。 (如“速度 5 m/s”)
由於我需要該值來更改它的顏色,因此我使用處理程序在兩個字符串之間切換。 這兩個字符串都注入了 html 代碼,因此我可以更改顏色而無需擁有多個 TextView。
我現在的問題是,如果我的字符串中有一個破折號('/'),它后面的所有字符都不會顯示。
如果我替換字符串中的斜杠,它就可以工作。 但這並不是真正的解決方案。
private void setBlinkText(){
try{
strBlinkOff = "speed <font color='#fafafa'>12</font> m/s";
strBlinkOn = "speed <font color='#212121'>12</font> m/s";
m_displayLine.setText(strBlinkOff.substring(0, strBlinkOff.indexOf('<')));
m_displayLine.append(Html.fromHtml(strBlinkOff.substring(strBlinkOff.indexOf('<'), strBlinkOff.indexOf("font>")), Html.FROM_HTML_MODE_LEGACY));
m_displayLine.append(strBlinkOff.substring(strBlinkOff.indexOf("font>") + 5));
m_blinkHandler = new Handler();
final String strFinalBlinkOn = strBlinkOn;
m_blinkHandler.postDelayed(new Runnable()
{
@Override
public void run()
{
m_displayLine.setText(strFinalBlinkOn.substring(0, strFinalBlinkOn.indexOf('<')));
m_displayLine.append(Html.fromHtml(strFinalBlinkOn.substring(strFinalBlinkOn.indexOf('<'), strFinalBlinkOn.indexOf("font>")), Html.FROM_HTML_MODE_LEGACY));
m_displayLine.append(strFinalBlinkOn.substring(strFinalBlinkOn.indexOf("font>") + 5));
m_blinkHandler.postDelayed(new Runnable()
{
@Override
public void run()
{
setBlinkText(p_strMessage);
}
}, 800);
}
}, 300);
} catch(Exception e)
{
Toast.makeText(getContext(), "Error", Toast.LENGTH_SHORT).show();
}
}
m_displayLine 應該顯示“速度 12 m/s”,但只顯示“速度 12 m/”
編輯:TextView 看起來像這樣:
<TextView
android:id="@+id/ToolTextLine2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:background="@color/accentGreenLight"
android:fontFamily="@font/lordmeg09"
android:maxLength="16"
android:maxLines="1"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textColor="#2d373c"
android:textSize="28sp"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/guidelineTool2" />
它可以在沒有自動調整大小和較小的文本大小的情況下工作。 但是為什么會斷掉呢?
看起來 maxLines 屬性被忽略了,因為我在設置它之后將文本附加到我的 TextView 。 我通過設置修復它
m_displayLine2.setLines(1);
在附加我的字符串的所有部分之后再次。
嘗試使用/
而不是/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.