android - Table layout to bitmap -
i have form in tablelayout form filled database, want send table output via email.but have problem converting tablelayout bitmap. here final activity working on
public class sendemail extends activity { button buttonsend; tablelayout tablemessage; intent emailfinal; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.sendemail); string orderdate = java.text.dateformat.getdatetimeinstance().format(calendar.getinstance().gettime()); string email = pdatabase.getpemail(); emailfinal = new intent(intent.action_send); emailfinal.putextra(intent.extra_email, new string[]{ email}); buttonsend =(button) findviewbyid(r.id.sendemail);
tablemessage = (tablelayout) findviewbyid(r.id.tablelayout1);
buttonsend.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { bitmap b = bitmap.createbitmap( tablemessage.getwidth(), tablemessage.getheight(), bitmap.config.argb_8888); canvas c = new canvas(b); tablemessage.draw(c); bitmapdrawable d = new bitmapdrawable(getresources(), b) emailfinal.putextra(intent.extra_text, b); emailfinal.settype("message/rfc822"); startactivity(intent.createchooser(emailfinal, "choose email client :")); }
you can simple use this.
public void sendmydata(view v){ bitmap cs = null; tablemessage.setdrawingcacheenabled(true); tablemessage.builddrawingcache(true); cs = bitmap.createbitmap(tablemessage.getdrawingcache()); canvas canvas = new canvas(cs); tablemessage.draw(canvas); canvas.save(); tablemessage.setdrawingcacheenabled(false); string path = images.media.insertimage(getcontentresolver(), cs, "mytableoutput", null); uri uri = uri.parse(path); intent sharingintent = new intent(intent.action_send); sharingintent.settype("image/png"); sharingintent.putextra(intent.extra_stream, uri); startactivity(intent.createchooser(sharingintent, "share image using")); } now in xml file se button.
android:onclick = "sendmydata" add permission manifest file also.
<uses-permission android:name="android.permission.read_external_storage" /> <uses-permission android:name="android.permission.write_external_storage" />
Comments
Post a Comment