站长网 教程 SlidingMenu_ohos侧滑菜单实现鸿蒙化迁移和重构

SlidingMenu_ohos侧滑菜单实现鸿蒙化迁移和重构

基于安卓平台的SlidingMenu侧滑菜单组件,实现了鸿蒙化迁移和重构,代码已经开源到(https://gitee.com/isrc_ohos/sliding-menu_ohos),欢迎各位下载使用并提出宝贵意见! 背景 SlidingMenu_ohos提供了一个侧滑菜单的导航框架,使菜单可以隐藏在手机屏幕的左

基于安卓平台的SlidingMenu侧滑菜单组件,实现了鸿蒙化迁移和重构,代码已经开源到(https://gitee.com/isrc_ohos/sliding-menu_ohos),欢迎各位下载使用并提出宝贵意见!

背景

SlidingMenu_ohos提供了一个侧滑菜单的导航框架,使菜单可以隐藏在手机屏幕的左侧、右侧或左右两侧。当用户使用时,通过左滑或者右滑的方式调出,既节省了主屏幕的空间,也方便用户操作,在很多主流APP中都有广泛的应用。

效果展示

由于菜单从左右两侧调出的显示效果相似,此处仅以菜单从左侧调出为例进行效果展示。

组件未启用时,应用显示主页面。单指触摸屏幕左侧并逐渐向右滑动,菜单页面逐渐显示,主页面逐渐隐藏。向右滑动的距离超过某个阈值时,菜单页面全部显示,效果如图1所示。

Sample解析

Sample部分的内容较为简单,主要包含两个部分。一是创建SlidingMenu_ohos组件的对象,可根据用户的实际需求,调用Library的接口,对组件的具体属性进行设置。二是将设置好的组件添加到Ability中。下面将详细介绍组件的使用方法。

1、导入SlidingMenu类

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; 

2、设置Ability的布局

此布局用作为主页面的布局,在组件隐藏的时候显示。

DirectionalLayout directionalLayout =  

(DirectionalLayout)LayoutScatter.getInstance(this).parse(ResourceTable.Layout_activity_main,null,false); setUIContent(directionalLayout); 

3、实例化组件的对象

SlidingMenu slidingMenu = null; 

try { 

    //初始化SlidingMenu实例 

    slidingMenu = new SlidingMenu(this); 

} catch (IOException e) { 

    e.printStackTrace(); 

} catch (NotExistException e) { 

    e.printStackTrace(); 

1. 

4、设置组件属性

此步骤可以根据具体需求,设置组件的位置、触发范围、布局、最大宽度等属性。

4、设置组件属性 

 

此步骤可以根据具体需求,设置组件的位置、触发范围、布局、最大宽度等属性。 

5、关联Ability

attachToAbility()方法是Library提供的重要方法,用于将菜单组件关联到Ability。其参数SLIDING_WINDOW和SLIDING_CONTENT是菜单的不同模式,SLIDING_WINDOW模式下的菜单包含Title / ActionBar部分,菜单需在整个手机页面上显示,如图2所示;SLIDING_CONTENT模式下的菜单不包括包含Title / ActionBar部分,菜单可以在手机页面的局部范围内显示,如图3所示。

try { 

    //关联Ability,获取页面展示根节点 

    slidingMenu.attachToAbility(directionalLayout,this, SlidingMenu.SLIDING_WINDOW); 

} catch (NotExistException e) { 

    e.printStackTrace(); 

} catch (WrongTypeException e) { 

    e.printStackTrace(); 

} catch (IOException e) { 

    e.printStackTrace(); 

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/video/2021/0527/7086.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部