Skip to content

Commit 7a54871

Browse files
committed
fix(Android): 修复Scroller组件和HorizontalScroller设置min、max宽度或高度后无法滚动的问题
1 parent 955b9f4 commit 7a54871

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

android/hummer-component/src/main/java/com/didi/hummer/component/scroller/HorizontalScroller.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ protected void onStyleUpdated(Map<String, Object> newStyle) {
7373
layout.getYogaNode().copyStyle(getYogaNode());
7474
layout.getYogaNode().setFlexDirection(YogaFlexDirection.ROW);
7575
adjustWidthAndHeight();
76+
adjustMinMaxWidthAndHeight();
7677
}
7778

7879
private void initScrollView() {
@@ -169,6 +170,13 @@ private void adjustWidthAndHeight() {
169170
}
170171
}
171172

173+
private void adjustMinMaxWidthAndHeight() {
174+
layout.getYogaNode().setMinWidth(Float.NaN);
175+
layout.getYogaNode().setMaxWidth(Float.NaN);
176+
layout.getYogaNode().setMinHeight(Float.NaN);
177+
layout.getYogaNode().setMaxHeight(Float.NaN);
178+
}
179+
172180
@JsMethod("appendChild")
173181
public void appendChild(HMBase child) {
174182
if (child == null) {

android/hummer-component/src/main/java/com/didi/hummer/component/scroller/Scroller.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ protected void onStyleUpdated(Map<String, Object> newStyle) {
137137
// 把最外层的Yoga属性复制一份给最内层的Layout,使JS侧设置的样式生效
138138
layout.getYogaNode().copyStyle(getYogaNode());
139139
adjustWidthAndHeight();
140+
adjustMinMaxWidthAndHeight();
140141
}
141142

142143
private void initScrollView() {
@@ -236,6 +237,13 @@ private void adjustWidthAndHeight() {
236237
}
237238
}
238239

240+
private void adjustMinMaxWidthAndHeight() {
241+
layout.getYogaNode().setMinWidth(Float.NaN);
242+
layout.getYogaNode().setMaxWidth(Float.NaN);
243+
layout.getYogaNode().setMinHeight(Float.NaN);
244+
layout.getYogaNode().setMaxHeight(Float.NaN);
245+
}
246+
239247
@JsMethod("appendChild")
240248
public void appendChild(HMBase child) {
241249
if (child == null) {

0 commit comments

Comments
 (0)