Easily add slide to dismiss functionality to an Activity

Slidr
Easily add slide-to-dismiss functionality to your Activity by calling Slidr.attach(this) in your onCreate(..) method.
Usage
An example usage:
public class ExampleActivity extends <Activity|FragmentActivity|ActionBarActivity> {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
int primary = getResources().getColor(R.color.primaryDark);
int secondary = getResources().getColor(R.color.secondaryDark);
Slidr.attach(this, primary, secondary);
}
}
or
public class ExampleActivity extends <Activity|FragmentActivity|ActionBarActivity> {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
Slidr.attach(this);
}
}
Configuring
SlidrConfig config = new SlidrConfig.Builder()
.primaryColor(getResources().getColor(R.color.primary)
.secondaryColor(getResources().getColor(R.color.secondary)
.position(SlidrPosition.LEFT|RIGHT|TOP|BOTTOM|VERTICAL|HORIZONTAL)
.sensitivity(1f)
.scrimColor(Color.BLACK)
.scrimStartAlpha(0.8f)
.scrimEndAlpha(0f)
.velocityThreshold(2400)
.distanceThreshold(0.25f)
.edge(true|false)
.edgeSize(0.18f) // The % of the screen that counts as the edge, default 18%
.listener(new SlidrListener(){...})
.build();
Slidr.attach(this, config);
Slidr.attach(...)
will return a SlidrInterface
which gives you access to two methods:
SlidrInterface.lock();
SlidrInterface.unlock();
These methods lock or unlock the slidable touch interface.
The theme that you use for your sliding activity must have these attributes set:
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
Then in the layout of your activity you must give it a background like this;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_material_light">
...
Including in your project
Include this line in your gradle build file:
compile 'com.r0adkll:slidableactivity:2.0.5'
For Snapshots, include these lines in your gradle files:
repositories {
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies{
compile 'com.r0adkll:slidableactivity:2.0.6-SNAPSHOT'
}