改变TextView的颜色在android系统 [英] Changing color of textview in android

查看:178
本文介绍了改变TextView的颜色在android系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

listview_item_for_images.java

 <?XML版本=1.0编码=UTF-8&GT?;
<的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    的xmlns:工具=htt​​p://schemas.android.com/tool​​s
    机器人:layout_width =FILL_PARENT
    机器人:layout_height =FILL_PARENT>    < ImageView的
        机器人:ID =@ + ID /旗
        机器人:layout_width =FILL_PARENT
        机器人:layout_height =250dp
        机器人:layout_alignParentLeft =真
        机器人:layout_alignParentRight =真
        机器人:scaleType =fitXY
        机器人:SRC =@绘制/ ic_launcher/>    <的TextView
        机器人:ID =@ + ID / RestaurantNameImageTopID
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_alignParentTop =真
        机器人:layout_centerHorizo​​ntal =真
        机器人:layout_marginTop =20dp
        机器人:textColorHint =@色/ TextColorForTextAboveImage/>< / RelativeLayout的>

我在这里放置一个TextView图像的顶部,它显示在列表视图

我得到了成功的输出

在,如果我的文字颜色改为白色XML属性和编译
我得到下面的错误

登录

  15 09-28:53:22.065:我/的MemoryCache(2451):会的MemoryCache使用高达8.0MB
09-28 15:53:22.445:D / dalvikvm(2451):GC_EXTERNAL_ALLOC释放307K,50%的自由2966K / 5895K,2130K外部/ 2137K,暂停102ms
09-28 15:53:22.465:我/的MemoryCache(2451):缓存大小= 47000长度= 1
09-28 15:53:22.715:我/的MemoryCache(2451):缓存大小= 111500长度= 2
09-28 15:53:22.795:我/的MemoryCache(2451):缓存大小= 168620长度= 3
09-28 15:53:22.795:我/的MemoryCache(2451):缓存大小= 237060长度= 4
09-28 15:53:24.685:D / dalvikvm(2451):GC_EXTERNAL_ALLOC释放422K,53%免费2805K / 5895K,2709K外部/ 2713K,暂停82MS
09-28 15:53:26.855:我/的MemoryCache(2451):会的MemoryCache使用高达8.0MB
09-28 15:53:26.875:W /的ResourceType(2451):在包0 0x7f060000(T = 5 E = 0)未得到记录(故障-75)
09-28 15:53:26.885:D / AndroidRuntime(2451):关闭VM
09-28 15:53:26.885:W / dalvikvm(2451):主题ID = 1:螺纹未捕获的异常(组= 0x40015560)退出
09-28 15:53:26.945:E / AndroidRuntime(2451):致命异常:主要
09-28 15:53:26.945:E / AndroidRuntime(2451):android.view.InflateException:二进制XML文件行#16:错误充气类<&不明GT;
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.createView(LayoutInflater.java:518)
09-28 15:53:26.945:E / AndroidRuntime(2451):在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.inflate(LayoutInflater.java:408)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.inflate(LayoutInflater.java:320)
09-28 15:53:26.945:E / AndroidRuntime(2451):在com.project.findmybuffet.ListViewAdapterForImages.getView(ListViewAdapterForImages.java:60)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.AbsListView.obtainView(AbsListView.java:1430)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.ListView.makeAndAddView(ListView.java:1745)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.ListView.fillDown(ListView.java:670)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.ListView.fillFromTop(ListView.java:727)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.ListView.layoutChildren(ListView.java:1598)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.AbsListView.onLayout(AbsListView.java:1260)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.View.layout(View.java:7175)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.os.Handler.dispatchMessage(Handler.java:99)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.os.Looper.loop(Looper.java:123)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.app.ActivityThread.main(ActivityThread.java:3683)
09-28 15:53:26.945:E / AndroidRuntime(2451):在java.lang.reflect.Method.invokeNative(本机方法)
09-28 15:53:26.945:E / AndroidRuntime(2451):在java.lang.reflect.Method.invoke(Method.java:507)
09-28 15:53:26.945:E / AndroidRuntime(2451):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
09-28 15:53:26.945:E / AndroidRuntime(2451):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-28 15:53:26.945:E / AndroidRuntime(2451):在dalvik.system.NativeStart.main(本机方法)
09-28 15:53:26.945:E / AndroidRuntime(2451):因:java.lang.reflect.InvocationTargetException
09-28 15:53:26.945:E / AndroidRuntime(2451):在java.lang.reflect.Constructor.constructNative(本机方法)
09-28 15:53:26.945:E / AndroidRuntime(2451):在java.lang.reflect.Constructor.newInstance(Constructor.java:415)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.view.LayoutInflater.createView(LayoutInflater.java:505)
09-28 15:53:26.945:E / AndroidRuntime(2451):45 ...更多
09-28 15:53:26.945:E / AndroidRuntime(2451):android.content.res.Resources $ NotFoundException:由造成资源不是ColorStateList(彩色或路径):{的TypedValue T =为0x1 / D = 0x7f060000一个= -1 R = 0x7f060000}
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.content.res.Resources.loadColorStateList(Resources.java:1804)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.content.res.TypedArray.getColorStateList(TypedArray.java:342)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.TextView<&初始化GT;(TextView.java:649)
09-28 15:53:26.945:E / AndroidRuntime(2451):在android.widget.TextView<&初始化GT;(TextView.java:337)
09-28 15:53:26.945:E / AndroidRuntime(2451):48 ...更多


解决方案

只是猜测,但根据该输出消息

 产生的原因:android.content.res.Resources $ NotFoundException:资源不是ColorStateList(彩色或路径)

我敢打赌, @色/ TextColorForTextAboveImage 未正确定义。颜色资源应该是这样的。 -

 <颜色名称=TextColorForTextAboveImage>#FF0000< /彩色>

修改

当然你有一个错字: colorname 颜色名称(注意空格)

listview_item_for_images.java

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/flag"
        android:layout_width="fill_parent"
        android:layout_height="250dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:scaleType="fitXY"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/RestaurantNameImageTopID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:textColorHint="@color/TextColorForTextAboveImage" />

</RelativeLayout>

Here i am placing a textview on top of image and it is displayed in a listview

I got the successful output

but

On if i change the text color to white in xml properties and compile I get below as error

log::

09-28 15:53:22.065: I/MemoryCache(2451): MemoryCache will use up to 8.0MB
09-28 15:53:22.445: D/dalvikvm(2451): GC_EXTERNAL_ALLOC freed 307K, 50% free 2966K/5895K, external 2130K/2137K, paused 102ms
09-28 15:53:22.465: I/MemoryCache(2451): cache size=47000 length=1
09-28 15:53:22.715: I/MemoryCache(2451): cache size=111500 length=2
09-28 15:53:22.795: I/MemoryCache(2451): cache size=168620 length=3
09-28 15:53:22.795: I/MemoryCache(2451): cache size=237060 length=4
09-28 15:53:24.685: D/dalvikvm(2451): GC_EXTERNAL_ALLOC freed 422K, 53% free 2805K/5895K, external 2709K/2713K, paused 82ms
09-28 15:53:26.855: I/MemoryCache(2451): MemoryCache will use up to 8.0MB
09-28 15:53:26.875: W/ResourceType(2451): Failure getting entry for 0x7f060000 (t=5 e=0) in package 0 (error -75)
09-28 15:53:26.885: D/AndroidRuntime(2451): Shutting down VM
09-28 15:53:26.885: W/dalvikvm(2451): threadid=1: thread exiting with uncaught exception (group=0x40015560)
09-28 15:53:26.945: E/AndroidRuntime(2451): FATAL EXCEPTION: main
09-28 15:53:26.945: E/AndroidRuntime(2451): android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.createView(LayoutInflater.java:518)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at com.project.findmybuffet.ListViewAdapterForImages.getView(ListViewAdapterForImages.java:60)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.AbsListView.obtainView(AbsListView.java:1430)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.ListView.makeAndAddView(ListView.java:1745)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.ListView.fillDown(ListView.java:670)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.ListView.fillFromTop(ListView.java:727)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.ListView.layoutChildren(ListView.java:1598)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.AbsListView.onLayout(AbsListView.java:1260)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.View.layout(View.java:7175)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.os.Looper.loop(Looper.java:123)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.app.ActivityThread.main(ActivityThread.java:3683)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at java.lang.reflect.Method.invokeNative(Native Method)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at java.lang.reflect.Method.invoke(Method.java:507)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at dalvik.system.NativeStart.main(Native Method)
09-28 15:53:26.945: E/AndroidRuntime(2451): Caused by: java.lang.reflect.InvocationTargetException
09-28 15:53:26.945: E/AndroidRuntime(2451):     at java.lang.reflect.Constructor.constructNative(Native Method)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.view.LayoutInflater.createView(LayoutInflater.java:505)
09-28 15:53:26.945: E/AndroidRuntime(2451):     ... 45 more
09-28 15:53:26.945: E/AndroidRuntime(2451): Caused by: android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x1/d=0x7f060000 a=-1 r=0x7f060000}
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.content.res.Resources.loadColorStateList(Resources.java:1804)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.content.res.TypedArray.getColorStateList(TypedArray.java:342)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.TextView.<init>(TextView.java:649)
09-28 15:53:26.945: E/AndroidRuntime(2451):     at android.widget.TextView.<init>(TextView.java:337)
09-28 15:53:26.945: E/AndroidRuntime(2451):     ... 48 more

解决方案

Just guessing, but according to this output message

Caused by: android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path)

My bet is that @color/TextColorForTextAboveImage is not correctly defined. A color resource should look like this.-

<color name="TextColorForTextAboveImage">#FF0000</color>

EDIT

Definitely you have a typo: colorname should be color name (notice the space)

这篇关于改变TextView的颜色在android系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆