diff --git a/frameworks/components/root_view.cpp b/frameworks/components/root_view.cpp index 319f971e14696dbff6a5b2c900bf684816a47eb8..80746990db95c0f448c480b36bad710ba941e89c 100755 --- a/frameworks/components/root_view.cpp +++ b/frameworks/components/root_view.cpp @@ -639,6 +639,11 @@ void RootView::DrawTop(UIView* view, const Rect& rect) } stackCount = 0; curView = par->GetNextSibling(); + if (enableAnimator) { + par->OnPostDraw(*dc_.mapBufferInfo, curViewRect); + } else { + par->OnPostDraw(*dc_.bufferInfo, curViewRect); + } par = par->GetParent(); } } diff --git a/frameworks/components/ui_arc_scroll_bar.cpp b/frameworks/components/ui_arc_scroll_bar.cpp index ccffef56e601d202448f42d2c0a3097694d73f28..27a22f63a81e2cdf0c9d503747c31c732146a9e2 100644 --- a/frameworks/components/ui_arc_scroll_bar.cpp +++ b/frameworks/components/ui_arc_scroll_bar.cpp @@ -21,14 +21,13 @@ namespace { constexpr uint16_t START_ANGLE_IN_DEGREE = 60; constexpr uint16_t END_ANGLE_IN_DEGREE = 120; -constexpr uint16_t SCROLL_BAR_WIDTH = 4; constexpr uint16_t SCROLL_BAR_MIN_ARC = 10; } // namespace namespace OHOS { UIArcScrollBar::UIArcScrollBar() : radius_(0), - width_(SCROLL_BAR_WIDTH), + width_(0), startAngle_(START_ANGLE_IN_DEGREE), endAngle_(END_ANGLE_IN_DEGREE), center_({0, 0}) {} @@ -67,7 +66,7 @@ void UIArcScrollBar::DrawForeground(BufferInfo& gfxDstBuffer, const Rect& invali } ArcInfo arcInfo = {0}; - arcInfo.radius = radius_; + arcInfo.radius = (radius_ > 0) ? (radius_ - 1) : 0; arcInfo.center = center_; arcInfo.startAngle = MATH_MAX(startAngle, START_ANGLE_IN_DEGREE); arcInfo.endAngle = MATH_MIN(endAngle, END_ANGLE_IN_DEGREE); diff --git a/frameworks/components/ui_list.cpp b/frameworks/components/ui_list.cpp index 4ca4e3758b970663881b3cdb9314c5b2c1d216e6..bcc54367315e422b439830b7fa6a60e3f97c3e01 100755 --- a/frameworks/components/ui_list.cpp +++ b/frameworks/components/ui_list.cpp @@ -44,7 +44,13 @@ UIList::Recycle::~Recycle() void UIList::Recycle::MesureAdapterRelativeRect() { uint16_t i = 0; + if (listView_ == nullptr) { + return; + } UIView* childHead = listView_->childrenHead_; + if (childHead == nullptr) { + return; + } uint16_t idx = childHead->GetViewIndex(); if (listView_->direction_ == VERTICAL) { int32_t height = 0;