我正在使用compose-navigation(alpha09) 来处理可组合项之间的导航
我想在移动到下一个目的地时删除启动屏幕(我不希望按下后背返回启动屏幕)
以下尝试未按预期工作:
navHostController.navigate(Route.login.id) {
navHostController.graph.clear()
}
Run Code Online (Sandbox Code Playgroud)
navHostController.navigate(Route.login.id)
navHostController.graph.clear()
Run Code Online (Sandbox Code Playgroud)
val currentDest = navHostController.currentDestination
navHostController.navigate(Route.login.id)
if (currentDest != null) {
navHostController.graph.remove(currentDest)
}
Run Code Online (Sandbox Code Playgroud)
那么如何删除启动屏幕然后转到下一步呢?
android android-jetpack-navigation android-jetpack-compose jetpack-compose-navigation
我想检查列表是否滚动到列表末尾。然而lazyListState不提供此属性
为什么我需要这个?我想显示一个用于列表“滚动到末尾”的 FAB,如果最后一项已经可见则隐藏它
(注:确实如此,但它是internal
/**
* Non-observable way of getting the last visible item index.
*/
internal var lastVisibleItemIndexNonObservable: DataIndex = DataIndex(0)
Run Code Online (Sandbox Code Playgroud)
不知道为什么)
val state = rememberLazyListState()
LazyColumn(
state = state,
modifier = modifier.fillMaxSize()
) {
// if(state.lastVisibleItem == logs.length - 1) ...
items(logs) { log ->
if (log.level in viewModel.getShownLogs()) {
LogItemScreen(log = log)
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么,如何检查我的内容是否LazyColumn滚动到数据集的末尾?
android android-jetpack-compose android-jetpack-compose-list android-jetpack-compose-lazy-column
我有这个:
Widget build(BuildContext context) {
return MaterialApp(
title: 'AnApp',
theme: ThemeData(
primarySwatch: Colors.blueGrey,
),
home: MainWidget()
);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我将primarySwatch颜色设置为blueGrey. 如何在MainWidget课堂内访问这种颜色?
我想设置与AppBar颜色相同的背景。
我正在使用 Docusaurus 来制作文档。
我想将图像添加到 Markdown 文件中,并调整其大小以防止其大于所需的大小。
检查这个答案,我意识到使用 md 文件中的静态 html 内容是可能的,但由于图像是静态的docs/assets,<img>标签找不到它。

Run Code Online (Sandbox Code Playgroud)
无法调整大小,并且

Run Code Online (Sandbox Code Playgroud)
找不到资产。
我很乐意得到任何解决方案。
使用 XML 布局,您可以使用具有彩色背景的 View 对象来绘制一条线。
<View
android:width="match_parent"
android:height="1dp"
android:background="#000000" />
Run Code Online (Sandbox Code Playgroud)
我们如何在 Jetpack compose 中绘制水平或垂直线?
我想迁移我现有的项目以部分使用 Jetpack compose。
所以我使用Android studio 4.2-canary9打开它并添加了一个 compose 活动,以便 Android Studio 添加所需的配置。
当我尝试运行该项目时,它给了我一个错误:
e: java.lang.AssertionError: Unbound symbols not allowed
Run Code Online (Sandbox Code Playgroud)
使用Run with --stacktrace我向我抛出这个堆栈跟踪:
e: java.lang.AssertionError: Unbound symbols not allowed
Unbound public symbol for public kotlinx.android.synthetic.main.activity_main/state.<get-state>|-5663767092261428579[0]
Unbound public symbol for public kotlinx.android.synthetic.main.activity_main/stateContainer.<get-stateContainer>|-4335442114828357571[0]
Unbound public symbol for public kotlinx.android.synthetic.main.activity_main/list.<get-list>|9139041782698166288[0]
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:96)
at org.jetbrains.kotlin.backend.jvm.JvmBackendFacade.doGenerateFiles(JvmBackendFacade.kt:87)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.generateModule(JvmIrCodegenFactory.kt:40)
at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:35)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.generate(KotlinToJVMBytecodeCompiler.kt:616)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:203)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:164)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:51)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:86)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:346)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:102)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:240)
at …Run Code Online (Sandbox Code Playgroud) android kotlin kotlin-android-extensions android-jetpack android-jetpack-compose
我正在为 Flutter 制作一个插件,以使用 android 本机库处理 fcm 消息。
我们知道当FCM收到消息时,它会启动应用程序(它是应用程序类)并运行Application#onCreate块内的代码,因此当应用程序在后台通过fcm启动时,我们可以运行本机代码。
我的问题是,是否可以在应用程序启动时运行flutter代码?
例如,如果收到消息:
应用类:
public class Application extends FlutterApplication {
@Override
public void onCreate() {
super.onCreate();
// Start flutter engine
// Invoke a dart code in the Plugin using methodChannel or etc.
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为 Flutter 开发一个带有背景内容的插件。
最近,我在android_alarm_manager插件中遇到了有关Flutter android 嵌入的问题。
一部分README说:
对于 Flutter Android Embedding V1,必须为后台服务提供回调以将插件注册到后台隔离。
我想将汉堡包图标添加到 Appbar 并使用该图标打开/关闭抽屉。
我将如何实现这一目标?
Scaffold(
drawerShape = RoundedCornerShape(topRight = 10.dp, bottomRight = 10.dp),
drawerElevation = 5.dp,
drawerContent = {
// Drawer
},
topBar = {
TopAppBar(
navigationIcon = {
Icon(
Icons.Default.Menu,
modifier = Modifier.clickable(onClick = {
// Open drawer => How?
})
)
},
modifier = Modifier
.fillMaxWidth()
.clip(RoundedCornerShape(bottomLeft = 10.dp, bottomRight = 10.dp)),
title = { Text(text = "Hello") }
)
},
) {}
Run Code Online (Sandbox Code Playgroud)
随着 FirebaseInstanceId 和 FirebaseCloudMessaging ( 21.0.0)最近发布,Firebase已弃用iid包,现在不推荐使用getToken()和getId()方法。
根据Firebase 发行说明,该方法getToken()已移至FirebaseMessaging
前:
FirebaseInstanceId.getInstance().getToken()
Run Code Online (Sandbox Code Playgroud)
后:
FirebaseMessaging.getInstance().getToken()
Run Code Online (Sandbox Code Playgroud)
这提供了使用fcmToken,但要检索实例 id,FirebaseMessaging 和 FirebaseInstanceId 中没有可用的方法。
那么,是否instance_id被认为是无用的 id,不应再使用?或者有替代品吗?
android ×8
flutter ×3
dart ×2
android-jetpack-compose-lazy-column ×1
android-jetpack-compose-list ×1
docusaurus ×1
firebase ×1
kotlin ×1
markdown ×1