tag:blogger.com,1999:blog-18885972562280492412024-02-20T10:52:46.485-08:00Tech Androidsujitdroidhttp://www.blogger.com/profile/18149373530897670030noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-1888597256228049241.post-80230022978857611562011-10-12T04:57:00.000-07:002011-10-12T05:20:07.546-07:00Custom ProgressDilaog like iPhone<div dir="ltr" style="text-align: left;" trbidi="on"> We use Android default ProgressDialog when we run any background operation to indicate user to wait till the operation finished. So that user will not be able to select anything on the screen till ProgressDialog dismiss but the ProressDialog can only be shown in the center of the Screen. We can't set its position and also we can't remove its default background (white boarder) .<br />
<br />
The alternative is that we can use ProgressBar but we have to prevent user interaction during the Progress shown. Here is the code how we can achieve this..<br />
<br />
Create a layout xml named popup_example.xml<br />
<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<RelativeLayout<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>xmlns:android="http://schemas.android.com/apk/res/android"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="fill_parent"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="fill_parent"><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><LinearLayout<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:orientation="horizontal"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_centerInParent="true"><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><ProgressBar<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@android:id/progress"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>style="?android:attr/progressBarStyle"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_marginLeft="5dip"/><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><TextView<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@+id/text"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:text="Loading Content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_margin="10dip"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:textColor="#FFFFFF"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_gravity="center_vertical" /><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span></LinearLayout><br />
</RelativeLayout><br />
<br />
<br />
Then we have to use this layout in our Activity as follows..<br />
Create a Activity names CustomDialog<br />
<br />
<br />
import android.app.Dialog;<br />
import android.content.Context;<br />
import android.content.DialogInterface;<br />
import android.view.KeyEvent;<br />
import android.view.LayoutInflater;<br />
import android.view.View;<br />
import android.widget.TextView;<br />
<br />
public class CustomDialog<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>private static Dialog mDialog = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public CustomDialog()<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>//<span class="Apple-tab-span" style="white-space: pre;"> </span>do Nothing<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public static void showProgressDialog(Context mContext, String text, boolean cancellable)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>removeDialog();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog = new Dialog(mContext, android.R.style.Theme_Translucent_NoTitleBar);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LayoutInflater mInflater = LayoutInflater.from(mContext);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>View layout = mInflater.inflate(R.layout.popup_example, null);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog.setContentView(layout);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TextView mTextView = (TextView) layout.findViewById(R.id.text);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (text.equals(""))<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mTextView.setVisibility(View.GONE);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mTextView.setText(text);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog.setOnKeyListener(new DialogInterface.OnKeyListener()<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>switch (keyCode)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.KEYCODE_BACK:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return true;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>case KeyEvent.KEYCODE_SEARCH:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return true;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return false;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog.setCancelable(false);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog.show();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public static void removeDialog(){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (mDialog != null)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>mDialog.dismiss();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
}<br />
<div><br />
</div><div>To use this CustomDialog we have to write this in our Activity </div><div><br />
</div><div><div>CustomDialog _progress = new CustomDialog();</div><div>_progress.showProgressDialog(this,"Please Wait.... ",false);</div></div><br />
<br />
Happy Coding.....</div>sujitdroidhttp://www.blogger.com/profile/18149373530897670030noreply@blogger.com5tag:blogger.com,1999:blog-1888597256228049241.post-15377620720299142362010-12-22T01:49:00.000-08:002010-12-22T01:49:56.163-08:00custom list view in androidYou can create custom listview in android and you can add any layout to this. Here is the code for this .<br />
<br />
first you have create a xml file for listview as follows.<br />
<br />
"mainllist.xml" and save it in the layout folder<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout<br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"><br />
<br />
<br />
<ListView android:id="@+id/android:list"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:headerDividersEnabled="true"<br />
android:cacheColorHint="#00000000"/> <br />
<br />
</LinearLayout><br />
<br />
You have call this from you activity which extends ListActivity using<br />
setContentView(R.layout.mainlistview);<br />
<br />
<br />
<br />
Then you have to create the layout which you want to put inside the listview<br />
<br />
as follows<br />
<br />
save it as "agentcontact.xml" in layout folder<br />
<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout<br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"><br />
<br />
<TableRow android:id="@+id/subAgentContactTableRow"<br />
android:layout_width = "fill_parent"<br />
android:layout_height="wrap_content"<br />
android:gravity="left"><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <TextView<span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@+id/agentContactListTextView"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:text="TextView"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:textSize="15px"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:textColor="#444444"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_alignParentTop="true"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_alignParentLeft="true"/><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <TableRow android:id="@+id/subAgentContactTableRow1"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_width = "fill_parent"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_height="wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:gravity="right"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:paddingRight="5px"><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <Button android:id = "@+id/agentContactButton"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:text = "Contact"<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_width = "wrap_content"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_height = "wrap_content" /> <span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> </TableRow><br />
</TableRow><br />
</LinearLayout><br />
<br />
<br />
Then we have to create a Custom ArrayAdapter calss which will handle all operation on the listview.<br />
as follows.<br />
<br />
class IconicAdapter extends ArrayAdapter {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Activity context;<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>IconicAdapter(Activity context) {<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>super(context, R.layout.agentcontact, pocketAgentLocation);<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.context=context;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public View getView(int position, View convertView,ViewGroup parent) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LayoutInflater inflater=context.getLayoutInflater();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>View agntContct=inflater.inflate(R.layout.agentcontact, null);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>TextView label=(TextView)agntContct.findViewById(R.id.agentContactListTextView);<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>label.setText(pocketAgentLocation.get(position)._title);<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>label.setWidth(_listTextWidth);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Button _button = (Button)agntContct.findViewById(R.id.agentContactButton);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>_button .setOnClickListener(new OnClickListener() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View v) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(YOURCLASS.this,"Hii",Toast.LENGTH_LONG).show();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return(agntContct);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<br />
Thnaks.....<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>sujitdroidhttp://www.blogger.com/profile/18149373530897670030noreply@blogger.com2tag:blogger.com,1999:blog-1888597256228049241.post-81775148210138958572010-12-12T09:25:00.000-08:002010-12-18T01:41:47.580-08:00How to attach file in emailHi this is my first blog hope this will help you.<br />
Thanks.............<br />
<br />
attaching file in email is simple here is my code.....<br />
<br />
<br />
public void sendMail(String emailid,String mailbody){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>emailIntent.setType("image/png");<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+Environment.getExternalStorageDirectory()+"nameof your file"));<br />
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailid});<br />
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"Transaction Details");<br />
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,mailbody);<br />
<br />
try {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));<br />
} catch (android.content.ActivityNotFoundException ex) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();<br />
}<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}sujitdroidhttp://www.blogger.com/profile/18149373530897670030noreply@blogger.com7