如何使用Java在Android Studio中自定义setError消息

如何使用Java在Android Studio中自定义setError消息,java,android,android-studio,Java,Android,Android Studio,我在一个使用Java的Android Studio应用程序中有几条错误消息,我不知道如何自定义它们的外观。我在这个网站上查阅了好几个答案,但没有一个是我想要的 这就是错误消息的样子 我想更改黑色背景、白色文本以及红线和图标的颜色 这是错误消息的代码 String email = editTextEmail.getText().toString().trim(); String password = editTextPassword.getText().toString().tr

我在一个使用Java的Android Studio应用程序中有几条错误消息,我不知道如何自定义它们的外观。我在这个网站上查阅了好几个答案,但没有一个是我想要的

这就是错误消息的样子

我想更改黑色背景、白色文本以及红线和图标的颜色

这是错误消息的代码

String email = editTextEmail.getText().toString().trim();
        String password = editTextPassword.getText().toString().trim();

        if(email.isEmpty()){
            editTextEmail.setError("Please enter an email.");
            editTextEmail.requestFocus();
            return;
        }
这是editText对象的代码

<EditText
            android:id="@+id/login_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:gravity="center"
            android:hint="Email"
            android:padding="8dp"
            android:drawableLeft="@drawable/email_icon"
            android:textColor="#417577"
            android:textSize="25dp" />

如何更改错误消息中显示的颜色?还有,有没有一种方法可以为整个应用程序设置这些颜色变化,而不仅仅是单独设置


谢谢大家!

通过谷歌搜索,我为你找到了一些答案。我在这里实现这些站点

  • 我正在实现对我来说很好的源代码

    这是改变颜色的简单方法。如果你有
    html
    的想法,你可能会在这里看到,你只是通过html格式改变颜色

    editText.setError(Html.fromHtml("<font color="#000000">"error!"</font>"));
    
    参考,看起来是同一个问题。
    int errorColor;
        final int version = Build.VERSION.SDK_INT;
        if (version >= 23) {
    
             errorColor = ContextCompat.getColor(getApplicationContext(), R.color.errorColor);
        } else {
             errorColor = getResources().getColor(R.color.errorColor);
        }
    
    
        String errorString = "This field cannot be empty";  // your error message
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(errorColor);
        SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(errorString);
        spannableStringBuilder.setSpan(foregroundColorSpan, 0, errorString.length(), 0);
        editTextView.setError(spannableStringBuilder);