【问题标题】:How to customize setError message in Android Studio with Java如何使用 Java 在 Android Studio 中自定义 setError 消息
【发布时间】:2021-01-17 03:41:29
【问题描述】:

我在一个使用 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" />

如何更改错误消息中显示的颜色?另外,有没有办法为整个应用设置这些颜色更改,而不仅仅是单独设置?

谢谢!

【问题讨论】:

  • 参考this,好像是同一个问题。

标签: java android android-studio


【解决方案1】:

在谷歌搜索了一下之后,我为你找到了一些答案。我正在实施这些网站。

  1. devdeedsgit repo
  2. findnerd
  3. xspdf

我正在实现对我来说看起来不错的源代码

这是改变颜色的简单方法。如果您对html 有所了解,那么您可能会在此处看到您只是通过 html 格式更改颜色。

editText.setError(Html.fromHtml("<font color="#000000">"error!"</font>"));

以下java中使用的源代码

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2019-01-14
    相关资源
    最近更新 更多