[Android实例] SlidingPaneLayout实现最新版QQ主页面效果

本文介绍如何利用Android Support V4库中的SlidingPaneLayout组件,通过定制的滑动面板动画效果,实现类似于最新版QQ应用主页面的动态切换体验。详细展示了主页面在菜单显示时的缩放效果和菜单隐藏时的淡入缩放动画,以及关键代码实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该篇文章从eoeAndroid搬迁过来的,原文地址:[Android实例] SlidingPaneLayout实现最新版QQ主页面效果

最近看有很多人模仿制作最新版QQ主页面效果,这里,我也更随潮流,用Support V4的SlidingPaneLayout来实现该效果

根据老习惯,上主要代码:

菜单显示的时候,主页面缩放效果和菜单隐藏时的淡入和缩放效果:

@Override
public void onPanelSlide(View panel, float slideOffset) {
    // TODO Auto-generated method stub
    int contentMargin = (int) (slideOffset * maxMargin);
    FrameLayout.LayoutParams contentParams = contentFragment.getCurrentViewParams();
    contentParams.setMargins(0, contentMargin, 0, contentMargin);
    contentFragment.setCurrentViewPararms(contentParams);
    float scale = 1 - ((1 - slideOffset) * maxMargin * 2) / (float) displayMetrics.heightPixels;
    menuFragment.getCurrentView().setScaleX(scale);// 设置缩放的基准点
    menuFragment.getCurrentView().setScaleY(scale);// 设置缩放的基准点
    menuFragment.getCurrentView().setPivotX(0);// 设置缩放和选择的点
    menuFragment.getCurrentView().setPivotY(displayMetrics.heightPixels / 2);
    menuFragment.getCurrentView().setAlpha(slideOffset);
}

gif可能录制的不太好,敬请见谅
这里写图片描述

下载地址:项目代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值