Skip to content

Load and display a background image to a ViewPager asynchronously, with automatic disk caching.

Notifications You must be signed in to change notification settings

SundeepK/AsyncBackgroundViewPager

Repository files navigation

AsyncBackgroundViewPager

Simple way to load a large background image that spans across a ViewPager widget. Scrolling between tabs automatiacally scrolls the background for you to. It also handels disk caching so that the same images will be loaded into memory much more efficiently rather than downloading them again. It also provides a away of automatically calculating the optimal image size for you as well :). This widget makes heavy use of the Simple Image Cache for code reuse. I will be commiting a version with out the SIC once it is finished.

Layout code

Simply define a AsyncBackgroundViewPager:

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:background="#ffffffff"
  android:descendantFocusability="beforeDescendants"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:orientation="vertical"
  tools:context=".MainActivity" >

  <com.sun.parallaxviewpage.core.AsyncBackgroundViewPager
      android:id="@+id/viewPager"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#cc000000"
      android:scrollbarSize="1dp" >

      <android.support.v4.view.PagerTitleStrip
          android:id="@+id/pager_title_strip"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_gravity="top"
          android:background="#33b5e5"
          android:paddingBottom="4dp"
          android:paddingTop="4dp"
          android:textColor="#fff" />
  </com.sun.parallaxviewpage.core.AsyncBackgroundViewPager>

</LinearLayout>
@Override
   protected void onCreate(Bundle savedInstanceState) {
   	super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       Button but = (Button) findViewById(R.id.buttonChangeImage);
       
   	_viewPage = (AsyncBackgroundViewPager) findViewById(R.id.viewPager);
   	_viewPage.setAdapter(new TestAdapter(getSupportFragmentManager()));
   	_viewPage.setExternalStorageDir("/storage/sdcard0/Pictures/test", 5);
   			try {
   		_viewPage.loadImage(
   				new URI("someurlToAImage.com/image.jpeg")
   				, 1, false);
   	} catch (URISyntaxException e) {
   		e.printStackTrace();
   	}
   }

About

Load and display a background image to a ViewPager asynchronously, with automatic disk caching.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages