我把TextView的颜色设置为红色,但在父layout的背景颜色设置为天蓝色(介于蓝色和绿色之间)时,字体颜色变成了黑色和红色重叠的情况。
这是什么原因?

解决方案 »

  1.   

    你就不需要设置layout颜色啊 ,直接设置textView的颜色啊
      

  2.   

    需要可自定义背景颜色,现在设置的layout的background的颜色来实现的,但是在把颜色设置为淡蓝色时,字体颜色就不是原来的红色了。
      

  3.   

    你的意思是不是说: 
      把Layou的背景设置成了天蓝色,把TextView设置成了红色, 然后,TextView的字体颜色变成了黑色和红色的重叠现象;
      如果是这样的话,应该不会出现这样的问题,办法:
       1,先将Layout的背景色去掉,重新运行一遍,看是否还存在此问题
       2,检查布局文件中的TextView和类里面的TextVIew对象是否都设置了颜色,两者只需要设置一个即可还有,你说父Layout是什么意思,难道你用了两个布局文件,一个画面么?
    如果是这样的话,那你设置其中一个TextView隐藏即可:
     textview.setVisibility(View.INVISIBLE); —— 隐藏控件,并保持原有位置
      

  4.   

    多谢,只有一个布局文件。只在布局文件里面设置了TextView的颜色为红色,java里面没有设置。
    但可以在java里面修改layout的背景色,当背景色设置为天蓝色时,就会出现红色字体下面有黑色的重叠情况,就好像是用黑色显示的字,然后又用红色显示了一了一部分。
      

  5.   

    哦。那你是直接设置的LinearLayout或者其他的Layout背景颜色么? 如果这样的话,应该不会有问题,我专门试了一下:
    在LinearLayout标签中加入:android:background="#87CEFF"  —— 天蓝色 SkyBlue
    在TextView标签中加入:android:textColor="#FF0000"  —— 红色 Red
    然后运行起来并没有你说的那种情况啊,显示是正常的你是不是设置到其他地方了,设置错了或者是怎么设置的,能把你的代码贴出来么
      

  6.   

    多谢,我layout是用的RelativeLayout,在代码中根据用户选择的颜色,设置不同的background color。
    不知道是不是手机的问题,在模拟器上没有这种现象。
    代码在家里,晚上我再贴出来。