Slidr框架,一行代码实现右滑退出Activity

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。




 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值