【问题标题】:Android TextView showing color hex as defaultAndroid TextView 默认显示颜色十六进制
【发布时间】:2016-04-17 09:41:41
【问题描述】:

在 Android Studio 中,预览视图在 textview 中显示颜色十六进制代码,就好像我已将其设置为文本属性一样。 Here is an image showing this

当我将它安装到我的手机时,它也会出现这样的情况。 我不确定我做了什么来实现这一点。我最近更新了 Android Studio 和构建工具等。

我在网上找不到任何关于此的信息。有其他人遇到这个问题或知道发生了什么吗?

这是布局xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:layout_marginTop="8dp"
    android:layout_weight="2"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp">

        <TextView
            android:id="@+id/score"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="10dp" />

        <TextView
            android:id="@+id/username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" in r/" />

        <TextView

            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:paddingBottom="0dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp">

        <!-- todo theme color -->
        <TextView
            android:id="@+id/post_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:textColor="?attr/text_colour_primary"
            android:textSize="14sp" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/nsfwTag"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:minWidth="10dp"
                android:visibility="gone" />

            <TextView
                android:id="@+id/numComments"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/text_size_micro" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:minWidth="10dp" />

            <TextView
                android:id="@+id/domain"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/text_size_micro" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:minWidth="10dp" />

            <TextView
                android:id="@+id/hoursAgoPosted"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/text_size_micro" />
        </LinearLayout>

    </LinearLayout>
</LinearLayout>

【问题讨论】:

  • 这与您发布的 XML 完全相同吗?在您设置文本属性或以编程方式之前,文本不会出现。
  • 这就是我所说的问题所在。它完全相同的 xml 和十六进制代码显示就好像我使用 text 属性添加了它一样。以前从来没有遇到过这个问题。只是最近才发生
  • 如果你明确地将文本设置为 ""(empty) 怎么办?

标签: android android-layout android-studio textview


【解决方案1】:

试试这个:

  1. 在文件夹 res/values 中添加一个名为“colors.xml”的 xml 文件

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="colorPrimary">#3F51B5</color>
        <color name="colorPrimaryDark">#303F9F</color>
        <color name="colorAccent">#FF4081</color>
    </resources>
  1. 像这样设置颜色属性:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/textView"
        android:textColor="@color/colorAccent" />

如果这能解决您的问题,请告诉我:)

【讨论】:

    【解决方案2】:

    - 而不是写这行

    android:textColor="?attr/text_colour_primary"


    - 你可以这样写代码

    android:textColor="@android:color/primary_text_light"

    【讨论】:

    • 我正在使用属性,以便以后可以轻松实现主题转换器。我以前使用这种方法从来没有遇到过问题。这是最近发生的事情,所以我一定没有什么原因造成它
    【解决方案3】:

    似乎在我的开发过程中的某个地方,我在styles.xml 中将这一行添加到了我的主题中:

     <item name="android:text">@color/text_black_secondary</item>
    

    它将颜色代码添加到每个 TextView 的文本中。

    【讨论】:

      猜你喜欢
      • 2019-06-16
      • 2012-07-05
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2014-08-19
      • 2014-08-08
      相关资源
      最近更新 更多