# MultiCardMenu **Repository Path**: HarmonyOS-tpc/MultiCardMenu ## Basic Information - **Project Name**: MultiCardMenu - **Description**: A multicard menu that can open and close with animation on harmonyos - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-01 - **Last Updated**: 2024-11-26 ## Categories & Tags **Categories**: harmonyos-menu **Tags**: None ## README 该三方开源库从github fork过来,主要将底层接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用 fork地址:https://github.com/wujingchao/MultiCardMenu fork版本号/日期:0.9.9 / 2015/10/8 原项目Readme地址:https://github.com/wujingchao/MultiCardMenu/blob/master/README.md 项目移植状态:支持组件所有基本功能 完成度:100% 调用差异: 1) 背景Layout的id需在代码中设置 2) 无法通过xml方式设置;动画差值器无法设置Path差值器 3) ListContainer由于存在很多bug,使用时会出现很多问题 **导入方法** 1.har导入 将har包放入lib文件夹并在build.gradle添加 ``` implementation fileTree(dir: 'libs', include: ['*.har']) ``` 2.Library引用 添加本工程中UcropLib模块到任意工程中,在需要使用的模块build.gradle中添加 ``` implementation project(':library') ``` 或者 ``` allprojects{ repositories{ mavenCentral() } } implementation 'io.openharmony.tpc.thirdlib:MultiCardMenu:1.0.2' ``` **使用方法** 1 .在布局文件中添加以下代码 ``` //在这里添加你的菜单卡片 ``` 2.在代码中初始化参数 ``` //初始化MultiCardMenu multiCardMenu = (MultiCardMenu) findComponentById(ResourceTable.Id_multi_card_menu); //设置MultiCardMenu背景的id multiCardMenu.setBackgroundRid(ResourceTable.Layout_background_view); //设置MultiCardMenu的监听 multiCardMenu.setOnDisplayOrHideListener(new MultiCardMenu.OnDisplayOrHideListener() { @Override public void onDisplay(int which) { LogUtil.info(TAG, "onDisplay:" + which); } @Override public void onHide(int which) { LogUtil.info(TAG, "onHide:" + which); } @Override public void onTouchCard(int which) { LogUtil.info(TAG, "onTouchCard:" + which); } }); ``` 3.一些功能设置介绍 ``` //设置移动的时候是否有界限的限制 multiCardMenu.setBoundary(); //设置菜单显示时后面背景是否阴影 multiCardMenu.setFade(); //设置动画的时间 multiCardMenu.setAnimatorDuration(); //设置动画的差值器 multiCardMenu.setAnimatorInterpolator(); //设置背景的id multiCardMenu.setBackgroundRid(); //设置菜单隐藏动画的差值器 multiCardMenu.setCloseAnimatorInterpolator(); //设置菜单的上边距 multiCardMenu.setMarginTop(); //设置显示菜单的动画差值器 multiCardMenu.setOpenAnimatorInterpolator(); //设置触发移动的距离 multiCardMenu.setMoveDistanceToTrigger(); //设置显示或隐藏的监听 multiCardMenu.setOnDisplayOrHideListener(); //设置菜单卡片标题的显示高度 multiCardMenu.setTitleBarHeightDisplay(); //设置菜单卡片不显示时候的显示高度 multiCardMenu.setTitleBarHeightNoDisplay(); //获取隐藏动画的动画差值器 multiCardMenu.getCloseAnimatorInterpolator(); //获取显示动画的动画差值器 multiCardMenu.getOpenAnimatorInterpolator(); //获取菜单的上边距 multiCardMenu.getMarginTop(); //获取触发移动的距离 multiCardMenu.getMoveDistanceToTrigger(); //获取菜单卡片标题的显示高度 multiCardMenu.getTitleBarHeightDisplay(); //获取菜单卡片不显示时候的显示高度 multiCardMenu.getTitleBarHeightNoDisplay(); //获取动画的实现 multiCardMenu.getAnimatorDuration(); //获取显示菜单卡片的ID multiCardMenu.getDisplayingCard(); ``` License --- ```MIT```