代码之家  ›  专栏  ›  技术社区  ›  ataravati

android-带HTML标记的样式字符串

  •  1
  • ataravati  · 技术社区  · 7 年前

    在我的Android应用程序中,我正在尝试按照说明动态更改部分文本的颜色。 here . 但是,这不起作用。颜色总是一样的。我做错什么了吗?

    这是我的 strings.xml :

    <string name="red_status">Status: <font color="#FF0000">Red</font></string>
    <string name="green_status">Status: <font color="#00FF00">Green</font></string>
    

    这是我的 TextView :

    <TextView
        android:id="@+id/status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="16dp"
        android:textSize="24sp"
        android:textAlignment="center"
        android:textColor="@color/charcoal_grey"
        android:letterSpacing="-0.01"
        android:lineSpacingExtra="8sp"
        android:gravity="center_horizontal"
        android:text="@{item.status == Status.RED ? @string/red_status : @string/green_status}" />
    
    0 回复  |  直到 7 年前
        1
  •  0
  •   ataravati    7 年前

    正如Commonware在评论中指出的那样,问题是宾格表达的用法 getString() 因此清除了格式。我最后用了两个分开的 TextView S并排,一个用于静态部分,一个用于动态红/绿部分。