android_waterfall icon indicating copy to clipboard operation
android_waterfall copied to clipboard

图片没有自动对齐

Open wujinyuan opened this issue 12 years ago • 13 comments

15页以后,左边会比右边短很大一截。

wujinyuan avatar Nov 30 '12 03:11 wujinyuan

这个我也遇到了,好象是没有添加到最短的那一列里去

ffts avatar Nov 30 '12 03:11 ffts

嗯,是有这问题,在算法里没有做这个判断

dodola avatar Nov 30 '12 03:11 dodola

你们的手机不会报oom吗?

wcbkanaz avatar Dec 02 '12 10:12 wcbkanaz

我把代码改为3列,每次加载10张,因为楼主通过For循环计算的图片位置都写死了,所以就会出现从第2次加载开始,每次加载第一张图片都会在左列,导致左列和中列右列的高差距越来越大,不知道怎么来修改楼主那边的计算,求教!

在 2012-11-30 11:33:37,dodola [email protected] 写道:

嗯,是有这问题,在算法里没有做这个判断

— Reply to this email directly or view it on GitHub.

jpchena avatar Dec 02 '12 15:12 jpchena

@wcbkanaz 会的啊,不过稍微晚点

wujinyuan avatar Dec 03 '12 01:12 wujinyuan

你们都在哪出现OOM的?我这翻了大概60多页没有出现. 发一下异常堆栈.

dodola avatar Dec 03 '12 02:12 dodola

楼主的这个问题大家有什么方案没?这是根本问题啊。OOM我也没碰到 我尝试了获取高度,把各列的高度保存下来,每次插入最小的一列,可是都获取不到view的高度

rchlz avatar Dec 03 '12 15:12 rchlz

楼上一语中的,Android的高度是添加到父View后显示之前获取到的(因为系统要渲染内容必须知道一个Rect),就是说在那之前是无法获取高度的,第一版没有边框的时候高度就是图片的高度,这个可以再显示之前通过获取图片的信息可以得到,然而第二版加上边框后,整个内容的高度变成 图片+边框+title内容 图片和文字内容都是动态变化的,所以这个不好获取,如果固定内容行数那么就可以自己计算出来而不用获取

dodola avatar Dec 03 '12 15:12 dodola

瀑布流应该是以图片为主,在移动终端屏幕有限的情况下,估计都不会太多的文字。在大多数情况下能不能忽略title呢?至于边框,各列都一样的嘛,没有影响。

我现在就这样弄了,累加图片的高度作为比较。暂时满足需求

rchlz avatar Dec 04 '12 01:12 rchlz

嗯,理论上是这样,不过这也算一个功能,不能说用的少就不写了,虽然可能写的不好但至少也有个思路 现在是这样的,纯图片的是v1.0版,就是没有从网上获取图片,但是那个图片回收的算法写的还算可以我刷到5000张没有溢出 现在v2.0版的就是截图里那样子的,后面可能考虑用OpenGL画在SurfaceView上.

dodola avatar Dec 04 '12 02:12 dodola

是不是机型 或是系统不同 有些会OOM 有些不会?我的是NS 4.0

wcbkanaz avatar Dec 04 '12 09:12 wcbkanaz

我在InfosListLayout.setAdapter的for循环中获取当前view(应该是每个item对象)中R.id.news_pic的Bitmap的高度进行累加,结果有问题了,图片加载慢的话就全部加在一列上了。我该在哪里累加呢?

rchlz avatar Dec 04 '12 09:12 rchlz