有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在发送电子邮件时更改文本(字符串)的颜色

当我将文本(字符串)输出到电子邮件时,我试图改变文本的颜色。我的代码是:

String appdata = "%" + txtFromSpinner + location.getText() + "%" + date.getText()+ "%" + start.getText() + "%" + finish.getText() + "%" + lunch.getText() + "%" + details.getText();
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"payrolldirectgib@gmail.com"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Timesheet/Parte de horas");
emailIntent.putExtra(Intent.EXTRA_TEXT, appdata +sep+ "Please send this email."+sep+ "Your timesheet details are included in it."+sep+ "Thank you."+sep+ "Regards,"+sep+ "Admin Department."+sep+ "Payroll Direct.");
emailIntent.setType("message/rfc822");
startActivity(emailIntent);

我希望字符串“appdata”在电子邮件框中显示为红色

这能做到吗?如何做到

先谢谢你


共 (2) 个答案

  1. # 1 楼答案

    使用如下所示的代码:

    emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("<font color='#FE2B3C'>"+appdata+"</font>"+sep+"Please send this email."));
    
  2. # 2 楼答案

    有两种方法

    方法1

    SpannableStringBuilder builder = new SpannableStringBuilder();
    SpannableString redSpannable= new SpannableString(appdata);
    redSpannable.setSpan(new ForegroundColorSpan(Color.RED), 0, appdata.length(), 0);
    builder.append(redSpannable);
    

    方法2

    appdata_in_red = Html.fromHtml("<font color=#ff0000>" + appdate + "</font>");
    

    我采用了最简单的方法,并将其集成到您的代码中,如下所示:

    String appdata = "%" + txtFromSpinner + location.getText() + "%" + date.getText()+ "%" + start.getText() + "%" + finish.getText() + "%" + lunch.getText() + "%" + details.getText();
    
    Intent emailIntent = new Intent(Intent.ACTION_SEND);
    emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"payrolldirectgib@gmail.com"});
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Timesheet/Parte de horas");
    //this line below
    emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("<font color=#ff0000>" + appdata + "</font>") +sep+ "Please send this email."+sep+ "Your timesheet details are included in it."+sep+ "Thank you."+sep+ "Regards,"+sep+ "Admin Department."+sep+ "Payroll Direct.");
    emailIntent.setType("message/rfc822");
    startActivity(emailIntent);
    

    我希望我的回答能帮助你