SwipableLayout

介绍:

可上滑,下滑的布局,滑动到一定状态表示退出这个布局,并提供一个退出事件的回到方法。可以利用它来做出下滑(或者上滑)退出activity的效果(demo所示)。

运行效果:

使用说明:

下载

Maven:

<dependency>
    <groupId>com.serhatsurguvec.libraries</groupId>
    <artifactId>swipablelayout</artifactId>
    <version>0.0.1</version>
</dependency>

Gradle:

dependencies {
    compile 'com.serhatsurguvec.libraries:swipablelayout:0.0.1'
}

 使用

  <?xml version="1.0" encoding="utf-8"?>
  <com.serhatsurguvec.swipablelayout.SwipeableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipableLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:orientation="vertical">
    <!--这里添加你的子View-->
  </com.serhatsurguvec.swipablelayout.SwipeableLayout>

想做到退出activity的效果,需要特定的主题:无actionbar,窗口透明,无窗口动画,因此需要把这些代码添加到swiping activity的主题。

      <item name="windowNoTitle">true</item>
      <item name="android:windowIsTranslucent">true</item>
      <item name="android:windowBackground">@android:color/transparent</item>
      <item name="android:windowNoTitle">true</item>
      <item name="windowActionBar">false</item>
      <item name="android:windowAnimationStyle">@null</item>

添加一个检测关闭listener,根据退出回调方法调用activity的退出方法就能实现滑动退出的效果。

        SwipeableLayout swipeableLayout = (SwipeableLayout) findViewById(R.id.swipableLayout);
        swipeableLayout.setOnLayoutCloseListener(new SwipeableLayout.OnLayoutCloseListener() {
            @Override
            public void OnLayoutClosed() {
                //这里调用activity的退出方法。
            }
        });
已下载
0