Hello friends today i post sample code of custom animation dialog. i every app there will be thread is used for loading data from server or Database, here is the post which you can create custom dialog for your application with its themes.
Create dialog.xml in res folder :
MoreRef
Create dialog.xml in res folder :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:contentDescription="@string/app_name"
android:src="@drawable/loader1" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:contentDescription="@string/app_name"
android:src="@drawable/pharma" />
</RelativeLayout>
Create progress_anim.xml in res-anim folder :
<?xml version="1.0"
encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
/>
if you want loading dialog in particular activity.Here is the class file in this case :
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog);
ImageView
imageView=(ImageView) findViewById(R.id.imageView1);
Animation
a = AnimationUtils.loadAnimation(MainActivity.this, R.anim.progress_anim);
a.setDuration(2000);
imageView.startAnimation(a);
a.setInterpolator(new Interpolator()
{
private final int frameCount = 50;
@Override
public float getInterpolation(float input)
{
return (float)Math.floor(input*frameCount)/frameCount;
}
});
}
if you want loading dialog with whole application with thread/AsyncTask .Here is the class file: it has different constructor for different look of dialog.
import android.app.Dialog;
import
android.content.Context;
import
android.view.LayoutInflater;
import android.view.View;
import
android.view.animation.Animation;
import
android.view.animation.AnimationUtils;
import
android.view.animation.Interpolator;
import
android.widget.ImageView;
public class LodingDialog extends Dialog
{
private Dialog mpd = null;
private LayoutInflater lyt_Inflater = null;
public LodingDialog(Context
context)
{
super(context);
LodingDialog1(context,"Loading...",false);
}
public LodingDialog(Context
context,String LoadingText)
{
super(context);
LodingDialog1(context,LoadingText,false);
}
public LodingDialog(Context
context,String LoadingText, boolean cancelable)
{
super(context);
LodingDialog1(context,LoadingText,cancelable);
}
public void
LodingDialog1(Context context,String LoadingText, boolean cancelable)
{
lyt_Inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View view_lyt = lyt_Inflater.inflate( R.layout.dialog, null);
ImageView
imageView = (ImageView) view_lyt.findViewById(R.id.imageView1);
Animation
a = AnimationUtils.loadAnimation(context, R.anim.progress_anim);
a.setDuration(2000);
imageView.startAnimation(a);
a.setInterpolator(new Interpolator()
{
private final int frameCount = 8;
@Override
public float getInterpolation(float input)
{
return (float)Math.floor(input*frameCount)/frameCount;
}
});
mpd = new Dialog(context,
R.style.ThemeDialogCustom);
mpd.setContentView(view_lyt);
mpd.setCancelable(cancelable);
mpd.show();
}
public void hide()
{
if (mpd != null) {
if (mpd.isShowing())
{
mpd.dismiss();
}
}
}
}
style.xml:
<resources>
<style name="ThemeDialogCustom">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/transparent_color</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
</resources>
colors.xml:
<resources>
<color name="transparent_color">#00000000</color>
</resources>
i will be happy if you will provide your feedback or follow this blog. Any suggestion and help will be appreciated.
Thank you :)