【问题标题】:Changing the colour of text (string) when sending an email发送电子邮件时更改文本(字符串)的颜色
【发布时间】:2015-08-08 00:42:57
【问题描述】:

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

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”在电子邮件消息框中显示为红色。

这可以做到吗?如何做到?

提前谢谢你。

【问题讨论】:

标签: java android string colors


【解决方案1】:

有两种方法

方法一

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

方法二

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

希望我的回答对你有所帮助。

【讨论】:

  • 嗨,谢谢你,但我似乎无法让它工作。如果有什么不同,我正在使用 Android Studio。
  • 我尝试添加以下内容:emailIntent.setType("text/html");并将文本行更改为: emailIntent.putExtra(Intent.EXTRA_HTML_TEXT, ("" + " PLEASE IGNORE THIS DATA ==> " + myWifiInfo.getSSID() + appdata + "));
【解决方案2】:

使用代码如下:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2011-09-10
    • 2023-01-12
    • 2014-10-30
    • 1970-01-01
    相关资源
    最近更新 更多