Skip to main content

Android Loading Control


Android Loading Control



  • res/anim/rotate_anim.xml

<?xml version="1.0" encoding="utf-8"?>

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"

    android:drawable="@drawable/img_loading"
    android:pivotX="50%"
    android:pivotY="50%" />

  • res/drawable/loading_anim.xml

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"

    android:oneshot="false" >

    <item
        android:drawable="@drawable/img1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/img2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/img3"
        android:duration="200"/>

</animation-list>


  • Add 4 Images in drawable




  • activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical"
    android:padding="10dp"
    tools:context=".MainActivity" >

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:indeterminateDrawable="@anim/rotate_anim"
        android:padding="10dp" >
    </ProgressBar>

    <TextView
        android:id="@+id/txtmessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Pleasewait" />

    <Button
        android:id="@+id/btnOpenLoadingDialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="@string/OpenLoadingDialog" />

</LinearLayout>


  • loading_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="horizontal"
    android:padding="15dp" >

    <ImageView
        android:id="@+id/ImgLoading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/loading_anim" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ClickBacktoClose"
        android:textColor="@android:color/darker_gray"
        android:textStyle="bold" />

</LinearLayout>



  • values/string.xml
    <string name="OpenLoadingDialog">Open Loading Dialog</string>
    <string name="ClickBacktoClose">Click Back to Close</string>
    <string name="Pleasewait">Please wait &#8230;</string>


  • values/style.xml

  <style name="MyLoadingDialog" parent="@android:Theme.Dialog">



        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:windowBackground">@android:drawable/dialog_frame</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
  
  </style>

  • MainActivity.java
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);


Button btnOpenLoadingDialog = (Button) findViewById(R.id.btnOpenLoadingDialog);




btnOpenLoadingDialog.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

Intent intent = new Intent(getApplicationContext(),
LoadingView_Dialog.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);
} }); }

        // on Back Pressed

@Override public void onBackPressed() { LoadingView_Dialog.getInstance().finish(); return; }}



  • LoadingView_Dialog.java
public class LoadingView_Dialog extends Activity {



static LoadingView_Dialog loadingView_Dialog_Activity;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loading_dialog);

loadingView_Dialog_Activity = this;

ImageView ImgLoading = (ImageView) findViewById(R.id.ImgLoading);

final AnimationDrawable myAnimationDrawable = (AnimationDrawable) ImgLoading.getDrawable();
                 ImgLoading.post(new Runnable() {

@Override
public void run() {
myAnimationDrawable.start();
}
});
}

public static LoadingView_Dialog getInstance() {
return loadingView_Dialog_Activity;
}

}

  • AndroidManifest.xml


       <activity

            android:name=".LoadingView_Dialog"

            android:theme="@style/MyLoadingDialog" >
        </activity>




Comments

Popular posts from this blog

Transparent Color Code

Transparent Color Code : Color hexadecimal notation is like the following:  #AARRGGBB A: alpha R: red G: green B: blue ____________________________________________ E.g. for 50% white you'd use             #80FFFFFF.              # ( Transparent  hex value ) (Any Color code) ____________________________________________ Normal opaque black hex- "#000000" Fully transparent - "#00000000" Fully opaque - "#FF000000" 50% transparent - "#80000000" ____________________________________________ Percentages to hex values.  100% — FF 95% — F2 90% — E6 85% — D9 80% — CC 75% — BF 70% — B3 65% — A6 60% — 99 55% — 8C 50% — 80 45% — 73 40% — 66 35% — 59 30% — 4D 25% — 40 20% — 33 15% — 26 10% — 1A 5% — 0D 0% — 00 ____________________________________________ All hex value from 100% to 0% alpha: 100% — FF 99% — FC 98% — FA 97% — F7 96% — F5 95% — F2 94% — F0 93% ...
Dark Theme elevation overlay hex 00dp 0% #121212 01dp 5% #1e1e1e 02dp 7% #222222 03dp 8% #242424 04dp 9% #272727 06dp 11% #2c2c2c 08dp 12% #2e2e2e 12dp 14% #333333 16dp 15% #343434 24dp 16% #383838

Custom Fonts

In android, you can define your own custom fonts for the strings in your application. You just need to download the required font, and then place it in assets/fonts folder. Y ou can access it in your java code through Typeface class. - Use  setTypeface()  method TextView textView = (TextView) findViewById(R.id. TextView1 ) ; Typeface custom_font = Typeface. createFromAsset (getAssets() , "fonts/font name.ttf" ) ; textView.setTypeface(custom_font) ;