我希望当用户导航到可组合项时,通过自动请求焦点放在 jetpack compose 中的文本字段上来弹出键盘。截至目前,这是我尝试过的,但似乎不起作用
val feedbackContent = remember { mutableStateOf(TextFieldValue()) }
val focusRequester = remember { FocusRequester() }
OutlinedTextField(
modifier = Modifier
.clickable {
focusRequester.requestFocus()
}
.fillMaxWidth()
.focusRequester(focusRequester)
.focusable()
)
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-text
由于 Google 的反馈,我的 Google Play 更新版本已被拒绝 3 次。
\n“应使用不太广泛的应用程序可见性方法\n我们无法批准您的应用程序\xe2\x80\x99s使用 QUERY_ALL_PACKAGES 权限,因为声明的任务可以使用不太广泛的应用程序可见性方法来完成。”
\n我的应用程序不需要此权限,并且我尚未在清单文件中声明此权限。
\n我已将以下查询元素添加到清单文件中以访问 WhatsApp、Gmail 包:
\n <queries>\n\n <package android:name="com.whatsapp" />\n <package android:name="com.google.android.gm" />\n <intent>\n <action android:name="android.intent.action.SEND" />\n <data android:mimeType="text/plain" />\n </intent>\n\n <intent>\n <action android:name="android.intent.action.SEND" />\n <data android:mimeType="image/png" />\n </intent>\n\n <intent>\n <action android:name="android.intent.action.VIEW" />\n <category android:name="android.intent.category.BROWSABLE" />\n <data android:scheme="https" />\n </intent>\n\n</queries>\n
Run Code Online (Sandbox Code Playgroud)\n以下是请求的权限列表:
\n <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />\n<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />\n<uses-permission android:name="android.permission.INTERNET" />\n<uses-permission android:name="android.permission.READ_CONTACTS" />\n<!-- Required only if your app targets Android 13. -->\n<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />\n<!-- Required to maintain app …
Run Code Online (Sandbox Code Playgroud) 我在我的活动中使用 Paging 3 Library with Lazy Column 和 BottomNavigation Menu。附加到 BottomNavMenu 的每个可组合屏幕都使用一个可组合,而后者又使用惰性列。当我使用 compose 导航库在可组合物之间导航时,我希望重新组合的可组合物保留滚动位置和 lazyListState
我尝试了以下但不起作用:
val listState = rememberLazyListState()
val scrollState = rememberScrollState()
LazyColumn(
modifier = Modifier
.fillMaxSize()
.padding(bottom = 56.dp)
.scrollable(scrollState, Orientation.Vertical),
state = listState,
) {
//draw the items and hook the loadState to the lazy paging items
Run Code Online (Sandbox Code Playgroud)
每次我导航到这个可组合时,它都会重新组合,滚动位置设置为 0,这不是我想要的。处理这个问题的正确方法是什么
kotlin android-jetpack android-jetpack-navigation android-jetpack-compose
我试图确保有一个视觉指示,表明用户正在尝试滚动到底部,即使他已到达 LazyColumn 中列表的末尾。
默认情况下,此功能在 XML 布局中可用。
我们如何在 Jetpack compose 中实现这一点?对于顶部的过度滚动,我看到有一个“滑动刷新”等效项。目前有解决办法吗?
所以我想要实现的是:
借助此处答案,我可以通过将脚手架封装在 ModalBottonSheetLayout 内来实现上述目标:Jetpack Compose Scaffold + Modal Bottom Sheet
问题:
我怎样才能做到这一点?主可组合项没有有关其托管的可组合项中存在的惰性列内的项目的任何信息。
有没有不同的方法来解决这个问题?
这是我的代码:
HomeComposable.kt
fun HomeComposable(homeViewModel: HomeViewModel,
navController: NavHostController) {
ModalBottomSheetLayout(
sheetContent = {
//get the id of the message here so it can be
//deleted
Button(
text = "delete Message")
onClick = deleteMessage(message.id
)
}
) {
Scaffold(
content = {
NavHost(navController = navController, startDestination =
WHATS_NEW_COMPOSABLE) {
composable(MESSAGES_COMPOSABLE) {
MessageItemsComposable(
homeViewModel,
navController, …
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-scaffold android-jetpack-compose-list jetpack-compose-navigation