https://kotlinlang.org logo
#compose
Title
# compose
k

Kazemihabib1996

04/14/2020, 6:46 PM
Using
TabRow
inside
VerticalScroller
crashes:
Copy code
@Composable
fun TextTabs() {
    var state by state { 0 }
    val titles = listOf("TAB 1", "TAB 2", "TAB 3 WITH LOTS OF TEXT")
    VerticalScroller {
        Column {
            TabRow(items = titles, selectedIndex = state) { index, text ->
                Tab(text = { Text(text) }, selected = state == index, onSelected = { state = index })
            }
            Text(
                    modifier = Modifier.gravity(ColumnAlign.Center),
                    text = "Text tab ${state + 1} selected",
                    style = MaterialTheme.typography.body1
            )
        }
    }
}
I just added VerticalScroller to https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui/ui-material/samples/src/main/java/androidx/ui/material/samples/TabSamples.kt?autodive=0%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F
Copy code
java.lang.IllegalArgumentException: Failed requirement.
        at androidx.ui.core.LayoutNode.setNeedsRelayout$ui_platform_release(ComponentNodes.kt:872)
        at androidx.ui.core.AndroidComposeView.markRelayoutRequested(AndroidOwner.kt:341)
        at androidx.ui.core.AndroidComposeView.requestRelayout(AndroidOwner.kt:317)
        at androidx.ui.core.AndroidComposeView.access$requestRelayout$0(AndroidOwner.kt)
        at androidx.ui.core.AndroidComposeView$onCommitAffectingLayout$1.invoke(AndroidOwner.kt:156)
        at androidx.ui.core.AndroidComposeView$onCommitAffectingLayout$1.invoke(AndroidOwner.kt)
        at androidx.ui.core.ModelObserver$CommitMap.callOnCommit(ModelObserver.kt:240)
        at androidx.ui.core.ModelObserver.callOnCommit(ModelObserver.kt:204)
        at androidx.ui.core.ModelObserver.access$callOnCommit$2(ModelObserver.kt)
        at androidx.ui.core.ModelObserver$commitObserver$1$1.invoke(ModelObserver.kt:59)
        at androidx.ui.core.ModelObserver$commitObserver$1$1.invoke(ModelObserver.kt)
        at androidx.ui.core.AndroidComposeView$modelObserver$1.invoke(AndroidOwner.kt:145)
        at androidx.ui.core.AndroidComposeView$modelObserver$1.invoke(AndroidOwner.kt)
        at androidx.ui.core.ModelObserver$commitObserver$1.invoke(ModelObserver.kt:58)
        at androidx.ui.core.ModelObserver$commitObserver$1.invoke(ModelObserver.kt)
        at androidx.compose.frames.FramesKt.commit(Frames.kt:321)
        at androidx.compose.frames.FramesKt.commit(Frames.kt:248)
        at androidx.compose.FrameManager.nextFrame(FrameManager.kt:119)
        at androidx.compose.Recomposer.recompose(Recomposer.kt:92)
        at androidx.compose.Recomposer.access$recompose$1(Recomposer.kt)
        at androidx.compose.Recomposer$Companion.recompose$compose_runtime_release(Recomposer.kt:56)
        at androidx.compose.CompositionImpl.setContent(Composition.kt:91)
        at androidx.ui.core.WrapperKt.subcomposeInto(Wrapper.kt:108)
        at androidx.ui.core.WithConstrainsState.subcompose(Layout.kt:480)
        at androidx.ui.core.WithConstrainsState$measureBlocks$1$measure$1.invoke(Layout.kt:450)
        at androidx.ui.core.WithConstrainsState$measureBlocks$1$measure$1.invoke(Layout.kt)
        at androidx.ui.core.ModelObserver.pauseObservingReads(ModelObserver.kt:165)
        at androidx.ui.core.AndroidComposeView.pauseModelReadObserveration(AndroidOwner.kt:186)
        at androidx.ui.core.LayoutNode.ignoreModelReads(ComponentNodes.kt:1296)
        at androidx.ui.core.WithConstrainsState$measureBlocks$1.measure(Layout.kt:450)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.material.SurfaceKt$SurfaceLayout$1$1.invoke(Surface.kt:128)
        at androidx.ui.material.SurfaceKt$SurfaceLayout$1$1.invoke(Surface.kt)
        at androidx.ui.core.LayoutKt$MeasuringIntrinsicsMeasureBlocks$1.measure(Layout.kt:281)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.layout.RowColumnImplKt$RowColumnImpl$3.invoke(RowColumnImpl.kt:92)
        at androidx.ui.layout.RowColumnImplKt$RowColumnImpl$3.invoke(RowColumnImpl.kt)
2020-04-14 23:14:21.589 32686-32686/com.github.kazemihabib.bookapp E/AndroidRuntime:     at androidx.ui.core.LayoutKt$Layout$measureBlocks$1.measure(Layout.kt:88)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.foundation.BoxKt$Box$1$1.invoke(Box.kt:105)
        at androidx.ui.foundation.BoxKt$Box$1$1.invoke(Box.kt)
        at androidx.ui.core.LayoutKt$MeasuringIntrinsicsMeasureBlocks$1.measure(Layout.kt:281)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.foundation.ScrollerKt$ScrollerLayout$2.invoke(Scroller.kt:276)
        at androidx.ui.foundation.ScrollerKt$ScrollerLayout$2.invoke(Scroller.kt)
        at androidx.ui.core.LayoutKt$MeasuringIntrinsicsMeasureBlocks$1.measure(Layout.kt:281)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.core.selection.SelectionContainerKt$Wrap$1.invoke(SelectionContainer.kt:178)
        at androidx.ui.core.selection.SelectionContainerKt$Wrap$1.invoke(SelectionContainer.kt)
        at androidx.ui.core.LayoutKt$MeasuringIntrinsicsMeasureBlocks$1.measure(Layout.kt:281)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:151)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
        at androidx.ui.core.AndroidComposeView$Companion$RootMeasureBlocks$1.measure(AndroidOwner.kt:727)
        at androidx.ui.core.InnerPlaceable.measure(LayoutNodeWrapper.kt:404)
        at androidx.ui.core.DelegatingLayoutNodeWrapper.measure(LayoutNodeWrapper.kt:354)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt:1126)
        at androidx.ui.core.LayoutNode$measure$2.invoke(ComponentNodes.kt)
        at androidx.compose.frames.FramesKt.observeAllReads(Frames.kt:166)
        at androidx.ui.core.ModelObserver.observeReads(ModelObserver.kt:148)
        at androidx.ui.core.AndroidComposeView.observeMeasureModelReads(AndroidOwner.kt:440)
        at androidx.ui.core.LayoutNode.measure(ComponentNodes.kt:1125)
2020-04-14 23:14:21.589 32686-32686/com.github.kazemihabib.bookapp E/AndroidRuntime:     at androidx.ui.core.AndroidComposeView.measureAndLayout(AndroidOwner.kt:383)
        at androidx.ui.core.AndroidComposeView.onMeasure(AndroidOwner.kt:429)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6083)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
        at com.android.internal.policy.DecorView.onMeasure(DecorView.java:692)
        at android.view.View.measure(View.java:19861)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2275)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2023)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1255)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6345)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:875)
        at android.view.Choreographer.doCallbacks(Choreographer.java:687)
        at android.view.Choreographer.doFrame(Choreographer.java:622)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:861)
        at android.os.Handler.handleCallback(Handler.java:752)
        at android.os.Handler.dispatchMessage(Handler.java:96)
        at android.os.Looper.loop(Looper.java:155)
        at android.app.ActivityThread.main(ActivityThread.java:6187)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:890)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
l

Louis Pullen-Freilich [G]

04/14/2020, 6:53 PM
Would you mind filing a bug at: https://issuetracker.google.com/issues/new?component=612128 Thanks!
k

Kazemihabib1996

04/14/2020, 7:26 PM
I filled one.
l

Louis Pullen-Freilich [G]

04/14/2020, 7:36 PM
Thank you!
🙂 1
16 Views