回复
鸿蒙开源组件——幻灯片效果小型库
jacksky
发布于 2022-2-28 19:23
浏览
0收藏
该三方开源库从github fork过来,主要将底层接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用
fork版本号/日期:2.2.8 / 2017/12/5
SlideUp-Harmony
SlideUp是一个小型库,可让您向任何视图添加甜美的幻灯片效果。使用SlideUp向上,向下,向左或向右滑动视图!
项目移植状态:支持组件所有基本功能
完成度:100%
调用差异:无
导入方法
1.har导入
implementation fileTree(dir: 'libs', include: ['*.har'])
2.Library引用
添加本工程中UcropLib模块到任意工程中,在需要使用的模块build.gradle中添加
implementation project(':library')
or
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:SlideUp-ohos:1.0.1'
使用方法 1 .在布局文件中添加以下代码
<DependentLayout
ohos:id="$+id:rootView"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:left_padding="16vp"
ohos:right_padding="16vp"
ohos:top_padding="16vp"
>
<DependentLayout
ohos:id="$+id:slideView"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:background_element="$graphic:rounded_up_corners_bg"
ohos:top_margin="26vp">
<Image
ohos:id="$+id:imageView2"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:image_src="$media:mushroom"
ohos:top_margin="24vp"/>
<Image
ohos:id="$+id:imageView"
ohos:height="match_content"
ohos:width="match_content"
ohos:below="$id:textView"
ohos:horizontal_center="true"
ohos:image_src="$graphic:ic_keyboard_arrow_down_black_24dp"
ohos:top_margin="4vp"/>
<Text
ohos:id="$+id:textView"
ohos:height="match_content"
ohos:width="match_parent"
ohos:align_parent_top="true"
ohos:text="Slide it down"
ohos:text_alignment="horizontal_center"
ohos:text_color="#cecece"
ohos:top_margin="16vp"/>
</DependentLayout>
</DependentLayout>
2.在代码中初始化参数
//初始化
sliderView = findComponentById(ResourceTable.Id_slideView);
//新建并初始化SlideUpBuilder
slideUp = new SlideUpBuilder(sliderView)
.withListeners(new SlideUp.Listener.Events() {
@Override
public void onSlide(float percent) {
dim.setAlpha(1 - (percent / 100));
if (fab.isComponentDisplayed() && percent < 100) {
fab.setVisibility(Component.HIDE);
}
}
@Override
public void onVisibilityChanged(int visibility) {
if (visibility == Component.HIDE) {
fab.setVisibility(Component.VISIBLE);
}
}
})
//视图的位置
.withStartGravity(Gravity.BOTTOM)
//是否打印log
.withLoggingEnabled(true)
//是否可以手势
.withGesturesEnabled(true)
//视图开始的状态
.withStartState(SlideUp.State.HIDDEN)
//视图的父视图
.withSlideFromOtherView(findComponentById(ResourceTable.Id_rootView))
//创建
.build();
3.一些功能设置介绍
//以view为参数初始化SlideUpBuilder
SlideUpBuilder slideUpBuilder = new SlideUpBuilder();
//设置是动画的时间
slideUpBuilder.withAutoSlideDuration();
//设置是否可以滑动
slideUpBuilder.withGesturesEnabled();
//设置
slideUpBuilder.withHideSoftInputWhenDisplayed();
//设置动画的差值器
slideUpBuilder.withInterpolator();
//设置监听
slideUpBuilder.withListeners();
//设置是否可以打印log
slideUpBuilder.withLoggingEnabled();
-
//设置可以触摸的距离长度px
slideUpBuilder.withTouchableAreaPx();
//设置父布局
slideUpBuilder.withSlideFromOtherView();
//设置视图开始的位置
slideUpBuilder.withStartGravity();
//设置可以触摸的距离长度dp
slideUpBuilder.withTouchableAreaDp();
//设置开始的状态
slideUpBuilder.withStartState();
//设置监听
slideUp.addSlideListener();
//设置动画的时长
slideUp.getAutoSlideDuration();
//设置动画差值器
slideUp.getInterpolator();
//获取滑动的视图
slideUp.getSliderView();
//获取视图的位置
slideUp.getStartGravity();
//获取滑动触发的距离长度dp
slideUp.getTouchableAreaDp();
//获取滑动触发的距离长度px
slideUp.getTouchableAreaPx();
//隐藏视图无动画效果
slideUp.hide();
//是否立即隐藏视图或有动画效果隐藏视图
slideUp.hideImmediately();
//显示视图无动画效果
slideUp.show();
//显示视图并设置是否有动画效果
slideUp.showImmediately();
//是否在运行动画
slideUp.isAnimationRunning();
//获取是否可以触摸操作
slideUp.isGesturesEnabled();
//设置是否打印log
slideUp.isLoggingEnabled();
//视图是否显示
slideUp.isVisible();
//通知参数变化
slideUp.notifyPercentChanged();
//通知视图可见状态变化
slideUp.notifyVisibilityChanged();
//移除监听
slideUp.removeSlideListener();
//设置动画的时间
slideUp.setAutoSlideDuration();
//设置是否可以触摸操作
slideUp.setGesturesEnabled();
//设置动画差值器
slideUp.setInterpolator();
//设置是否打印log
slideUp.setLoggingEnabled();
//获取滑动触发的距离长度dp
slideUp.setTouchableAreaDp();
//获取滑动触发的距离长度px
slideUp.setTouchableAreaPx();
SlideUp-ohos-master.zip 153.46K 9次下载
已于2022-2-28 19:23:03修改
赞
收藏
回复
相关推荐