鸿蒙开源组件——幻灯片效果小型库

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修改
收藏
回复
举报
回复
    相关推荐