为什么我无法更改Button的textColor

时间:2017-10-04 12:23:38

标签: android button

我尝试更改按钮textColor' s参数,但下面的所有努力都是徒劳的。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:background="@color/colorPrimaryDark"
    android:orientation="vertical"
    android:tag="fragment_register">
    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:text="@string/title"
        android:textColor="@android:color/white"
        android:textSize="20sp"/>
    <EditText
        android:id="@+id/et_first_password"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:background="#3f3f3f"
        android:padding="10dp"
        android:ems="17"
        android:textColor="@color/colorWhite"
        android:hint="@string/hint_enter_password"
        android:textColorHint="#696969"/>
    <EditText
        android:id="@+id/et_first_pass_again"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:background="#3f3f3f"
        android:padding="10dp"
        android:ems="17"
        android:textColor="@color/colorWhite"
        android:hint="@string/hint_reenter_password"
        android:textColorHint="#696969"/>
    <Button
        android:id="@+id/reg_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="20dp"
        android:background="#494949"
        android:text="@string/btn_title_reg"
        android:textColor="@color/colorWhite"/>
</LinearLayout>

颜色仅在“预览设计版面”窗口中更改,但在启动的应用程序中无效。 button.setTextColor(...);它也不起作用

有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

你应该使用

android:textColor="#FFFFFF"

而不是

tools:textColor="@android:color/white"

或尝试以编程方式设置

button.setTextColor(ContextCompat.getColor(YourActivity.this,R.color.colorBlack));

答案 1 :(得分:0)

在构建之前尝试清除项目

Build -> Clean Project or Build -> Rebuild Project

有时候android会捕获一些以前的构建来节省构建时间。

答案 2 :(得分:0)

试试这个

button.setTextColor(Color.parseColor("#000fff"));

或者您可以使用

button.setTextColor(getResources().getColor(R.color.colorPrimary));