Android 5.1上的setTextColor

时间:2016-01-14 06:32:58

标签: android text colors textview android-5.1.1-lollipop

为什么只有Android 5.1或更高版本setTextColor方法无效?

TextView TextView32 = (TextView) findViewById(R.id.textView32);
TextView32.setText(String.valueOf(LikesNumber2));
SendLikes2.setBackgroundResource(R.drawable.likeyes);
TextView32.setTextColor(Color.parseColor("#ffffff"));

奇怪,但在Android 4.4和30以上的手机上有变量版本textColor的变化。哪里出错?

XML:

<RelativeLayout                
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginBottom="7dp">

     <Button
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/SendLikesHe"
            android:background="@drawable/likezero"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="15dp"
            android:layout_centerHorizontal="true" />

     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView32"
            android:textColor="#fffb0049"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="14dp"
            android:layout_alignBottom="@+id/SendLikesHe" />

     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="Like"
            android:id="@+id/textView67_onn"
            android:layout_gravity="center_horizontal"
            android:textSize="13sp"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="false"
            android:layout_below="@+id/SendLikesHe"
            android:textColor="#FB0049" />
</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您可以使用

TextViewObj.setTextColor(getResources().getColor(R.color.Color_Name));

或使用 ContextCompat

TextViewObj.setTextColor(ContextCompat.getColor(context,R.color.Color_Name));

getColor(int id) deprecated on Android 6.0 Marshmallow (API 23)

希望这有帮助。

答案 1 :(得分:0)

你正在尝试

 TextView32.setTextColor(Color.parseColor("#ffffff"));

WHITE颜色。你的背景颜色不是white ??

尝试将背景颜色设置为灰色(#808080)或其他颜色,并将颜色设置为

TextViewObj.setTextColor(getResources().getColor(R.color.Color_Name));

答案 2 :(得分:0)

textView.setTextColor(Color.parseColor("#DD1515"));

以上行应该可以正常工作。在4.4,5.1,6.0中测试