2016-01-14 34 views
1

爲什麼只能在Android 5.1或以上版本setTextColor方法不起作用?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> 
+0

奇怪。它爲我工作android 5.1.1 – Bharatesh

+0

使用'ContextCompat.getColor()',見[這裏](http://stackoverflow.com/a/31590927/4908802)。 – yennsarah

回答

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

感謝您的幫助,但我認爲問題出在ImageView上。它可以強加文本(我不知道如何用英語說出來 - 就像「你無法看到文字,因爲它們上有圖像查看」)。所以問題沒有解決 – androidFan

0

您正在嘗試

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

這是WHITE顏色。你的背景顏色不是white

嘗試設置背景顏色灰色(#808080)等,並設置顏色,

TextViewObj.setTextColor(getResources().getColor(R.color.Color_Name)); 
0
textView.setTextColor(Color.parseColor("#DD1515")); 

上面的行應該能正常運行。測試在4.4,5.1,6.0

相關問題