对于AppCompatActivity,TextView颜色始终为白色

时间:2016-03-14 12:47:08

标签: android android-studio android-appcompat android-styles

在Marshmallow之前的设备上,TextView的文本颜色始终为白色。即使我在我的XML中使用黄色或黑色,除了在Marshmallow上它总是白色。

在运行时,它可以在所有设备上正常工作。以前,当我使用Eclipse时,一切都工作正常,但在Android Studio中,它没有从XML中获取属性。

我搜索过的所有问题都说要将Theme.AppCompat更改为Theme.AppCompat.Light,但除了将白色更改为黑色之外,这不会做任何事情。我相信有一个风格错误。这是我的样式代码:

 <style name="AppBaseTheme" parent="Theme.AppCompat">
        <item name="colorPrimary">@color/khaki</item>
        <item name="colorPrimaryDark">@color/khaki</item>
        <item name="colorAccent">@color/my_yellow</item>

        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

这是我的xml

 <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="48dp">
   <ImageView
    android:id="@+id/icon1"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="12dp"
    android:layout_marginRight="12dp"
     android:src="@drawable/sj_icon"
    android:layout_centerVertical="true"/>

   <TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignLeft="@+id/icon1"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="32dp"
    android:gravity="center_vertical"
    android:minHeight="34dp"
    android:paddingLeft="7dp"
    android:text="hello"
    android:textColor="@color/my_yellow"
    android:textSize="18sp" />

   </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

我终于得到了我的问题的答案实际上我正在使用最新版本的支持库创建问题我将所有内容与我的同事项目进行比较,因为他的应用程序工作正常... 使用这个

compile 'com.android.support:appcompat-v7:23.1.1'

工作室将弹出一个更新的版本也可用,但不要使用它,因为24版本处于alpha阶段。

答案 1 :(得分:0)

我遇到了类似的问题(在小部件中,如果RGB值的平均值大于最大值的一半,则文本颜色为白色,否则为黑色)

我正在使用具有高对比度文字的手机测试应用程序&#34;功能已启用,因此解决方案正在禁用它。