http://www.lesscode.cn/index.php?s=/view-index-id-34.shtml
让Activity随着向右的滑动手势退出,使用非常简单,最少只用一行代码就搞定。
项目地址: https://github.com/r0adkll/Slidr效果图
如何使用
在需要被滑动退出的activity中这样使用:
public class ExampleActivity extends <Activity|FragmentActivity|ActionBarActivity> { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_example); Slidr.attach(this); } }或者
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); } }也或者
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) .listener(new SlidrListener(){...}) .build(); Slidr.attach(this, config);2. Slidr.attach(...)将会返回一个SlidrInterface,有如下方法:
SlidrInterface.lock();//锁定手势,此时不能再拖动 SlidrInterface.unlock();//解锁3. 需要滑动的activity的主题中添加如下属性:
<item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item>即将activity背景设为透明的,这是因为仅用java代码无法实现完整的透明。
4. 给滑动Activity的布局根下添加背景android:background :
<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">步骤3是将activity所在的窗口设为透明,这样拖动后就能看见上一个activity,而步骤4滑动activity的页面部分添加背景取消透明。
使用项目中的demo编译会遇到很多问题,建议只编译library,然后自己根据项目的使用方法新建一个测试的demo。也可点击上面的"下载源码" 下载我做的demo。