目标
下拉页面,页面向下滑动实现activity关闭。
实现方案
- 添加页面关闭时的动画
activity中覆写finish方法,增加动画
override fun finish() {
super.finish()
overridePendingTransition(0, R.anim.anl_push_bottom_out)
}
增加动画定义文件:anl_push_bottom_out.xml
放到res/anim目录下, 如果不存在anim目录,则新建。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:toYDelta="100%p" />
</set>
- 页面里增加下拉控件
- 添加依赖
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.0'
- 修改页面
根布局为SmartRefreshLayout,自己的页面内容放到mainContent中(mainContent可以自行修改为任何布局)
<com.scwang.smart.refresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/smartRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFBB86FC"
android:gravity="center">
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="bottom|center_horizontal"
android:paddingBottom="8dp"
android:text="下拉页面关闭" />
<RelativeLayout
android:id="@+id/mainContent"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
- activity中增加触发关闭页面代码
smartRefreshLayout.setOnRefreshListener { finish() }
网友评论