1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/thoseyears-ohos-extension

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ComponentPositionHelper.md 965
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
朱帆 Отправлено 24.07.2021 05:28 76ece4d

ComponentPositionHelper

替换安卓中View.offsetLeftAndRight(int)与View.offsetTopAndBottom(int)

使用

ComponentPositionHelper.offsetTopAndBottom(view, offsetTop);
ComponentPositionHelper.offsetLeftAndRight(view, offsetLeft);

ComponentPositionHelper.getCurrentOffsetTop(view, offsetTop);
ComponentPositionHelper.getCurrentOffsetLeft(view, offsetLeft);

原理

由于鸿蒙在滚动过程中为单个控件setPosition、setTop或者setComponentPosition等能改变位置的api,会出现多个控件飞离的问题,因此需要为每个需要做位移的控件都设置精确的位置,才不会出现问题。

这里通过获取要位移控件的父控件的所有子控件中,top位于该控件之下的所有控件,为他们setComponentPosition来改变位置,达到整体平移的效果。同时,由于a控件的位移导致b控件跟着位移,那么再次以b控件为准的位移需要算上a控件而导致的位移。

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/thoseyears-ohos-extension.git
git@api.gitlife.ru:oschina-mirror/thoseyears-ohos-extension.git
oschina-mirror
thoseyears-ohos-extension
thoseyears-ohos-extension
master