V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rcj6056
V2EX  ›  外包

[有偿] 实现一个简单效果

  •  
  •   rcj6056 · 74 天前 · 1779 次点击
    这是一个创建于 74 天前的主题,其中的信息可能已经有所发展或是发生改变。

    activity a 右侧滑动 从右往左滑动 滑 b activity

    我有简单的录屏效果 有兴趣加我。。。

    MTczMTEzOTEwNzU=

    8 条回复    2025-04-21 14:12:58 +08:00
    guanzhangzhang
        1
    guanzhangzhang  
       74 天前
    用 viewpager?
    rcj6056
        2
    rcj6056  
    OP
       74 天前
    @guanzhangzhang viewpager2 是一个方案
    目前的情况是 a 页面是当前页面 b 页面是 a 的详情页面 b 本来是一个独立的 activity
    如果用 viewpager2 的话就需要吧原本在 b 里面的所有逻辑都挪到 fragment 里面去 改动实在太大

    而且 b 页面作为详情页面 很多地方都是会跳转到这里来的 改成 fragment 的话可能问题比较多哦
    JayFang1993
        3
    JayFang1993  
       74 天前
    小红书详情页,左滑进到作者的个人页,这个效果?
    lijianan
        4
    lijianan  
       74 天前
    这描述也太模糊了,什么平台,什么技术栈起码说一下呗
    MozzieW
        5
    MozzieW  
       73 天前
    @rcj6056 除了改成 Fragment ,没有更好的的方法。
    1. 要实现这个效果,需要把两个 Activity 都初始化,差不多当成 View 使用,但是 Activity 本身是有自己的生命周期逻辑的。以前这个东西,我重新查了应该叫 ActivityGroup ,但是已经废弃了。
    2. 把 Activity 改成 Fragment ,需要的工作量应该可以接受,思路如下:
    2.1 把 BActivity 重命名为 BFragment ,按照 Fragment 生命周期修改,如果 Activity 没有太多骚操作,我理解工作量不大
    2.2 修改 BFragment 里对外部参数的处理
    2.3 重新创建一个 BActivity ,里面直接使用 BFragment 。这一步需要调整的,应该就是把外部参数转给 BFragment 。
    3. 看描述,估计也要对 A Activity 做类似的操作,或者直接把 BFragment 嵌入到 A ,看具体需求了
    这三个步骤,这三个步骤,Cursor 都可以帮忙,自己写感觉也一两个小时
    rcj6056
        6
    rcj6056  
    OP
       73 天前
    @MozzieW 多谢 目前看下来也是准备把 b activity 抽成 fragment ,配合 viewpager 来实现
    本来想用抽屉布局来做 发现抽屉布局没法享受整个屏幕里面滑动的时候 拉出 b activity 可以把抽屉布局设置成沾满全屏 但是效果跟 viewpager + fragment 的方式还是差点
    rcj6056
        7
    rcj6056  
    OP
       73 天前
    @JayFang1993 是的 类似
    rcj6056
        8
    rcj6056  
    OP
       73 天前
    @lijianan 安卓的一个效果
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2382 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:48 · PVG 23:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.