zlgopen / awtk

AWTK = Toolkit AnyWhere(a cross-platform embedded GUI)
GNU Lesser General Public License v2.1
3.1k stars 767 forks source link

scrollview里加入两种不同高度的list_item,导致滑动不会自动保持出现在屏幕中 #521

Open Sokyx opened 3 years ago

Sokyx commented 3 years ago

正常情况:scrollview中加入list_item1.xml,scrollview作为父控件,在代码里添加子控件list_item1,。 1、scrollview如下:

2、list_item1.xml如下:

WNsACE commented 3 years ago

是一定需要通过 widget_add_child 添加才会出现这种情况的吗? xml 上面直接分别带有不同高度的 list_item 的话,会出现上面表述的问题? 而且看上面的设置了 item_height 的值的话,应该所有的 list_item 的高为 item_height 的值才对吧,因为在 children_layouter_list_view_for_list_view_children_layout_h 函数中会调用 widget_resize 函数设置 list_item 的宽高

Sokyx commented 3 years ago

1、目前只用widget_add_child试过,两个list_item.xml高度不同,加进去就有这个问题。 2、h=40的item,显示高度确实只有40。并且滑动会出现上述问题 3、如果我把list_view设置的item_height和default_item_height都去掉,而是在list_item1.xml设置h=80,list_item2.xml指定h=40,就不会有问题。

WNsACE commented 3 years ago

我今天使用最新的 awtk 测试并没有出现你说的情况,不管是 list_item1.xml 还是 list_item2.xml 的高都是为 item_height 的值,你测试的 awtk 版本是最新的吗?你试一下用最新的 awtk 测试一下。

Sokyx commented 3 years ago

不是最新的,是几个月之前的。

WNsACE commented 3 years ago

今年1月25号的时候,重构了这一部分的代码并且修复了一些当时已知的问题,可能在那个时候已经修复了这个问题了

Sokyx commented 3 years ago

好的,谢谢。