You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在点击按钮时实现视图从右向左滑动的效果

右侧滑入视图实现方案

效果参考:

  • 点击箭头按钮前的界面:
    点击前界面
  • 点击按钮后视图从屏幕右端向左滑入效果:
    点击后滑入效果

针对已废弃的SliderDrawer组件,现有3种成熟实现方案可选:

方案1:官方DrawerLayout组件(最推荐)

这是Google官方主推的侧滑菜单实现方案,原生动画效果和MxPlayer的滑动菜单完全匹配:

  • 布局根节点使用androidx.drawerlayout.widget.DrawerLayout,将需要滑入的菜单视图作为子View添加,给菜单视图设置android:layout_gravity="end"属性,即可指定该菜单从右侧滑出
  • 点击向左箭头按钮时,调用drawerLayout.openDrawer(GravityCompat.END)即可触发滑入动画,关闭时调用drawerLayout.closeDrawer(GravityCompat.END)即可
  • 支持自定义滑动时长、边缘阴影、手势滑动呼出等特性,适配全Android版本

方案2:属性动画轻量实现

如果只需要单个视图的滑入效果,不需要完整抽屉交互逻辑,可以直接用属性动画实现:

// 初始化时把视图移到屏幕右侧外
slideView.translationX = resources.displayMetrics.widthPixels.toFloat()
// 点击按钮时触发滑入动画
slideView.animate()
    .translationX(0f)
    .setDuration(300)
    .setInterpolator(DecelerateInterpolator())
    .start()

方案3:MotionLayout实现复杂联动动画

如果需要实现滑动时和其他视图的联动效果(比如背景渐变、按钮同步位移等),可以使用MotionLayout,在MotionScene配置文件中定义视图从右到左的位移规则,点击按钮触发对应Transition即可实现高度自定义的动画效果。

内容的提问来源于stack exchange,提问作者ShaRy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:27:01