Pull Back Layout

Additional

Language
Java
Version
1.0.1 (Oct 18, 2015)
Created
Oct 14, 2015
Updated
Oct 18, 2015
Owner
OXO (oxoooo)
Contributor
xingrz
1
Activity
Badge
Generate
Download
Source code

Commercial

Pull Back Layout

Pull down to finish an Activity.

Download

repositories {
    // ...
    maven { url "https://jitpack.io" }
}

dependencies {
    // ... support library ...
    // ...
    compile 'com.github.oxoooo:pull-back-layout:1.0.1'
}

Usage

You may refer to one of our apps that already using this library: mr-mantou-android

  1. Make your Activity translucent by adding these two lines to your theme:

    <style name="AppTheme" ...>
        <!-- ... -->
    
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
    
        <!-- also translucent system ui -- suggested but not required -->
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>
  2. Wraps ooo.oxo.library.widget.PullBackLayout around your ImageView or ViewPager:

    <ooo.oxo.library.widget.PullBackLayout
        android:id="@+id/puller"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    
    </ooo.oxo.library.widget.PullBackLayout>
  3. Set a callback:

    public class ViewerActivity extends AppCompatActivity implements PullBackLayout.Callback {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            /* ... */
            puller.setCallback(this);
        }
    
        @Override
        public void onPullStart() {
            // fade out Action Bar ...
            // show Status Bar ...
        }
    
        @Override
        public void onPull(float progress) {
            // set the opacity of the window's background
        }
    
        @Override
        public void onPullCancel() {
            // fade in Action Bar
        }
    
        @Override
        public void onPullComplete() {
            supportFinishAfterTransition();
        }
    
    }

License

MIT License