james
05/13/2022, 7:03 AMFunkyMuse
05/13/2022, 7:52 AMrememberScrollState
?Roberto Leinardi
05/13/2022, 9:36 AMDeactivated User
05/13/2022, 10:26 AMAkram Bensalem
05/13/2022, 10:38 AMRoberto Leinardi
05/13/2022, 11:20 AMactions: @Composable ColumnScope.() -> Unit
but I have now realized that I need to iterate to each Composable to animate it properly (see here).
Is there a way to iterate over the actions: @Composable ColumnScope.() -> Unit
? Or should I ask for a actions: List<@Composable () -> Unit> = emptyList()
? Or is there a better way to achieve what I need to do?Tgo1014
05/13/2022, 12:53 PMJan
05/13/2022, 1:10 PMKata
05/13/2022, 1:34 PMBasicTextField
when I clear the focus with focusRequester.freeFocus()
the keyboard disappears but the cursor is still inside the TextField. Is there a good way to make it disappear once the view is not focused?Jan
05/13/2022, 1:36 PMCheckbox(checked = true, enabled = true, onCheckedChange = {}, colors = CheckboxDefaults.colors(checkedColor = Color.Green, uncheckedColor = Color.Red))
Does work if enabled = false it doesn't show GreenRoberto Leinardi
05/13/2022, 1:49 PMContent: @Composable () -> Unit
)?
Right now I'm wrapping it in a Box
to be able to set my modifier but I was wondering if there is a better way:
Box(modifier = modifier) {
content()
}
mattinger
05/13/2022, 1:57 PMTgo1014
05/13/2022, 2:58 PMLazyColumn
how can I get the offset on screen of a specific item{}
when it’s displayed?Erick Sanchez
05/13/2022, 3:39 PMAndy Himberger
05/13/2022, 4:31 PMZach Klippenstein (he/him) [MOD]
05/13/2022, 5:09 PMmutableStateOf
actually works at the lowest level, you might find this interesting.Colton Idle
05/13/2022, 6:00 PMisLight
via MaterialTheme.colors.isLight
or should I basically never be touching MaterialTheme static accessors? (themeing still confuses me, sorry 🙃 )zsperske
05/13/2022, 8:42 PMtestRule.onNodeWithText("Account details").performScroll().performClick()
I get the following error message Semantic Node has no parent layout with a Scroll SemanticsAction
Colton Idle
05/14/2022, 2:04 AM@Composable
fun RequireSignedInUser(
navController: NavController,
appStateHolder: AppStateHolder,
content: @Composable () -> Unit
) {
if (appStateHolder.isLoggedIn) { content() } else { LaunchedEffect(Unit) { navController.navigate(route = Screen.LoginScreen.route) }
}
}
jasu
05/14/2022, 6:50 AMModifier.clearFocusOnKeyboardDismiss
custom modifier which clears the textfield focus once softkeyboard is dismissed. It works fine until I move to “note-share” composable. Once I move to note-share composable and come back to note detail this time clearFocusOnKeyboardDismiss stops working, it doesn’t clears the focus.
Refer this video.Eko Prasetyo
05/14/2022, 11:43 AMMehdi Haghgoo
05/14/2022, 12:19 PMAaron Waller
05/14/2022, 1:44 PMLazyColumn(...) {
item {
//Header with ProfilePicture and followers
}
stickyHeader {
TabRow(...) //Sticky TabRow with "Posts" and "Likes"
}
item {
//Pager with two lists (posts and likes)
HorizontalPager(...) { page: Int ->
when (page) {
0 -> PostList()
1 -> LikesList()
}
}
}
}
FunkyMuse
05/14/2022, 2:47 PMTolriq
05/14/2022, 5:56 PMAaron Waller
05/14/2022, 7:19 PMColton Idle
05/14/2022, 9:36 PMRoberto Leinardi
05/14/2022, 10:11 PMUnresolved reference
.
The crazy thing is that the the enum on the same package is perfectly fine. And so is the AAR of the classic view library.
And of course the issue does not happen if I import the gradle module directly instead of using the AAR.
Do I need to do something special to generate an AAR with Composable?
build.gradle of the library moduleColton Idle
05/15/2022, 8:36 AMAlderson Elliot
05/15/2022, 11:18 AMAlderson Elliot
05/15/2022, 11:18 AMjava.lang.ClassNotFoundException: android.window.OnBackInvokedCallback
at com.android.tools.idea.rendering.classloading.loaders.DelegatingClassLoader.findClass(DelegatingClassLoader.kt:81)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.android.tools.idea.rendering.classloading.loaders.DelegatingClassLoader.loadClass(DelegatingClassLoader.kt:65)
at androidx.compose.ui.tooling.ComposeViewAdapter$FakeOnBackPressedDispatcherOwner$1.<init>(ComposeViewAdapter.kt:733)
at androidx.compose.ui.tooling.ComposeViewAdapter.<init>(ComposeViewAdapter.kt:732)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:339)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:176)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:136)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:301)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:417)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:428)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:332)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
at android.view.LayoutInflater.inflate(LayoutInflater.java:663)
at android.view.LayoutInflater.inflate(LayoutInflater.java:505)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:363)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:436)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:121)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:739)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$8(RenderTask.java:895)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:187)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)java.lang.ClassNotFoundException: android.window.OnBackInvokedCallback
at com.android.tools.idea.rendering.classloading.loaders.DelegatingClassLoader.findClass(DelegatingClassLoader.kt:81)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.android.tools.idea.rendering.classloading.loaders.DelegatingClassLoader.loadClass(DelegatingClassLoader.kt:65)
at androidx.compose.ui.tooling.ComposeViewAdapter$FakeOnBackPressedDispatcherOwner$1.<init>(ComposeViewAdapter.kt:733)
at androidx.compose.ui.tooling.ComposeViewAdapter.<init>(ComposeViewAdapter.kt:732)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:339)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:176)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:136)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:301)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:417)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:428)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:332)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965)
at android.view.LayoutInflater.inflate(LayoutInflater.java:663)
at android.view.LayoutInflater.inflate(LayoutInflater.java:505)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:363)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:436)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:121)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:739)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$8(RenderTask.java:895)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:187)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Chrimaeon
05/15/2022, 12:03 PMOnBackInvokedCallback
is a API “Tiramisu” feature. https://developer.android.com/reference/android/window/OnBackInvokedCallbackAlderson Elliot
05/15/2022, 1:14 PMChrimaeon
05/15/2022, 1:23 PMAlderson Elliot
05/15/2022, 1:31 PMdependencies {
implementation(project(":shared"))
implementation("androidx.activity:activity-compose:1.5.0-rc01")
implementation("androidx.compose.material:material:1.2.0-beta01")
implementation("com.google.android.material:material:1.6.0")
debugImplementation("androidx.customview:customview:1.2.0-alpha01")
debugImplementation("androidx.customview:customview-poolingcontainer:1.0.0-beta01")
debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-beta01")
implementation("androidx.compose.ui:ui:1.2.0-beta01")
implementation("androidx.compose.ui:ui-tooling-preview:1.2.0-beta01")
implementation("androidx.compose.foundation:foundation:1.2.0-beta01")
}