Skip to content

Commit 3c0a8f3

Browse files
committed
减少view嵌套层级,child.measure()
1 parent 8e564e6 commit 3c0a8f3

2 files changed

Lines changed: 4 additions & 8 deletions

File tree

stacklayout/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ dependencies {
2323
implementation fileTree(dir: 'libs', include: ['*.jar'])
2424
}
2525

26-
apply from: '../../../bintray.gradle'
26+
//apply from: '../../bintray.gradle'

stacklayout/src/main/java/com/uis/stackview/StackHelper.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import android.view.animation.DecelerateInterpolator;
1010
import android.view.animation.Interpolator;
1111
import android.view.animation.LinearInterpolator;
12-
import android.widget.FrameLayout;
1312
import java.lang.ref.WeakReference;
1413
import java.util.ArrayList;
1514
import java.util.LinkedList;
@@ -203,12 +202,9 @@ private View getStackView(){
203202
}
204203
}
205204
if (view == null && layout != null && layout.getAdapter() != null){
206-
FrameLayout frame = new FrameLayout(layout.getContext());
207-
View createView = layout.getAdapter().onCreateView(layout);
208-
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(everyWidth, everyHeight);
209-
frame.addView(createView,params);
210-
frame.measure(everyWidth,everyHeight);
211-
view = frame;
205+
view = layout.getAdapter().onCreateView(layout);
206+
view.measure(View.MeasureSpec.makeMeasureSpec(everyWidth,View.MeasureSpec.EXACTLY),
207+
View.MeasureSpec.makeMeasureSpec(everyHeight,View.MeasureSpec.EXACTLY));
212208
}
213209
return view;
214210
}

0 commit comments

Comments
 (0)