2015-05-26 26 views
6

Tôi đang cố thay đổi màu của văn bản (một chuỗi) khi tôi xuất nó ra một email. Mã của tôi là:Thay đổi màu của văn bản (chuỗi) khi gửi email

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[]{"[email protected]"}); 
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); 

Tôi muốn chuỗi "appdata" xuất hiện màu đỏ khi trong hộp thư email.

Điều này có thể được thực hiện và cách thực hiện không?

Cảm ơn bạn trước.

+0

Bạn có thể định dạng email nếu bạn gửi nó dưới dạng HTML. Xem http://stackoverflow.com/questions/2544141/send-html-mail-using-android-intent –

Trả lời

3

Có hai phương pháp

Phương pháp 1

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

Phương pháp 2

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

tôi đã đưa ra những phương pháp đơn giản và tôi tích hợp nó vào mã của bạn như điều này:

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[]{"[email protected]"}); 
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); 

Tôi hy vọng câu trả lời của tôi sẽ giúp bạn.

+0

Xin chào, cảm ơn vì điều này, nhưng tôi dường như không làm cho nó hoạt động. Tôi đang sử dụng Android Studio nếu điều đó tạo nên sự khác biệt. –

+0

Tôi đã thử thêm các mục sau: emailIntent.setType ("text/html"); và thay đổi dòng văn bản cần đọc: emailIntent.putExtra (Intent.EXTRA_HTML_TEXT, ("" + "XIN NÓI DỮ LIỆU NÀY ==>" + myWifiInfo.getSSID() + appdata + " <==")); –

0

Sử dụng mã như hình dưới đây:

emailIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("<font color='#FE2B3C'>"+appdata+"</font>"+sep+"Please send this email.")); 
Các vấn đề liên quan