File tree 1 file changed +7
-20
lines changed
imageloader/src/main/java/com/tomclaw/imageloader/util
1 file changed +7
-20
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ package com.tomclaw.imageloader.util
2
2
3
3
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
4
4
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
5
- import android.view.ViewTreeObserver
6
5
import android.widget.ImageView
7
6
import com.tomclaw.imageloader.core.ViewHolder
8
7
import com.tomclaw.imageloader.core.ViewSize
@@ -13,29 +12,17 @@ class ImageViewHolder(private val imageView: ImageView) : ViewHolder<ImageView>
13
12
override fun getSize (): ViewSize {
14
13
optSize()?.let { return it }
15
14
16
- var viewSize = ViewSize (0 , 0 )
17
15
val latch = CountDownLatch (1 )
18
-
19
- val preDrawListener = object : ViewTreeObserver .OnPreDrawListener {
20
- private var isResumed = false
21
-
22
- override fun onPreDraw (): Boolean {
23
- val size = optSize()
24
- if (size != null ) {
25
- viewSize = size
26
- imageView.viewTreeObserver.removeOnPreDrawListener(this )
27
-
28
- if (! isResumed) {
29
- isResumed = true
30
- latch.countDown()
31
- }
32
- }
33
- return true
16
+ var viewSize = ViewSize (0 , 0 )
17
+ imageView.post {
18
+ val size = optSize()
19
+ if (size != null ) {
20
+ viewSize = size
34
21
}
22
+ latch.countDown()
35
23
}
36
- imageView.viewTreeObserver.addOnPreDrawListener(preDrawListener)
37
-
38
24
latch.await()
25
+
39
26
return viewSize
40
27
}
41
28
You can’t perform that action at this time.
0 commit comments