可上滑下滑關閉Activity或視圖:SwipableLayout

jopen 9年前發布 | 23K 次閱讀 Android開發 移動開發 SwipableLayout
可上滑下滑關閉Activity或視圖,滑動到一定狀態表示退出這個布局,并提供一個退出事件的回到方法。可以利用它來做出下滑(或者上滑)退出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的退出方法。
            }
        });

項目主頁:http://www.baiduhome.net/lib/view/home/1446619443045

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!