android-jetpack-navigation 相关问题


Jetpack Compose 记住关键字

我是使用 swiftui 的 iOS 开发人员。 现在我有一个android项目,所以我开始学习jetpack compose。 但我有一个与 swiftui 状态不同的问题。 包 com.example.myapplicati...


变量改变时变量值的显示不改变(Jetpack Compose Android Studio)

应用程序使用mvvm和jetpack compose,屏幕(View,compose)使用以下代码显示是否已获得权限: val 上下文 = LocalContext.current 通过 remem 访问 val...


无法将修饰符传递到 Jetpack Compose 中的列

我有这个 Composable,它是一个可组合函数,旨在为 Android 开发人员的 Jetpack Compose 课程中的此作业生成所有文本。 @可组合 有趣的文章(修改...


模拟撰写 UI 上的用户交互

我试图了解如何测试用 Jetpack Compose 编写的 Android UI。切换到 Compose 时我的假设是我能够启动应用程序并模拟用户交互,例如......


在 Android gradle 中添加依赖项以编写可组合 UI 的仪器测试时,无法解决重复类问题

我有一个复杂的项目,其中版本为 org.jetbrains.kotlinx:kotlinx-coroutines-android 强制为 1.6.4。 我在 UI 屏幕上使用了 Jetpack 可组合项。我想编写仪器测试...


Jetpack Compose:检查文本最大行数

我有一个场景,如果文本最大行数超过 9,我需要显示一个按钮,否则该按钮不应出现。 我尝试查看 Android 开发者指南,但找不到任何解决方案....


为什么 BLE 扫描在 Android 13 上对我不起作用?

我正在使用 Jetpack Compose 构建一个扫描 BLE 设备的应用程序。这是一个可组合项,它在进入组合时简单地扫描 BLE 设备,并在退出时停止扫描。我已经...


如何使用jetpack在Exoplayer和media 3中添加自定义ui控制器,就像android中的旧视图系统一样?

我正在将 Exoplayer 与 Media 3 库一起使用。我无法像我们在旧视图系统中那样在 Exoplayer 中添加自定义句柄。 我期望添加自定义 UI,其控制器与旧版本相同......


如何使用 router.push 从“next/navigation”传递数据

我们如何使用 next/navigation 中 useRouter() 的 router.push api 以编程方式将数据从一个路由传递到另一个路由? 另外,我们如何在 next/


在 Jetpack Compose 中选择 TextField 的所有文本

我正在 Jetpack Compose 中使用 TextField 组件。 如何在获得焦点时选择所有文本?


Jetpack 撰写食谱简单应用程序问题

我是 jetpack compose 的新手,习惯使用 XML 来完成各种任务。我正在尝试在 jetpack compose 中构建一个基本的食谱应用程序,但每次运行该应用程序时,都会出现空白的黑屏。我


活动深层链接 - IllegalArgumentException:缺少必需的参数并且没有 android:defaultValue

在我的应用程序中,我有以下结构: 在我的应用程序中,我具有以下结构: <!-- AndroidManifest.xml --> <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application> <activity android:name=".DeepLinkActivity" android:exported="true" android:launchMode="singleInstancePerTask"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="myhost" android:path="/mypath" android:scheme="myscheme" /> </intent-filter> </activity> </application> </manifest> <!-- activity_deep_link.xml --> <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.fragment.app.FragmentContainerView android:id="@+id/navHostFragment" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" tools:navGraph="@navigation/my_nav_graph" /> </FrameLayout> // DeepLinkActivity.kt class DeepLinkActivity : AppCompatActivity() { private lateinit var binding: ActivityDeepLinkBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityDeepLinkBinding.inflate(layoutInflater) setContentView(binding.root) setUpNavigationGraph() } private fun setUpNavigationGraph() { val navHostFragment = supportFragmentManager .findFragmentById(binding.navHostFragment.id) as NavHostFragment val navController = navHostFragment.navController val navGraph = navController.navInflater .inflate(R.navigation.my_nav_graph) .apply { this.setStartDestination(R.id.notTheStartDestinationFragment) } val startDestinationArgs = bundleOf( "someRequiredArgumentHere" to false ) navController.setGraph(navGraph, startDestinationArgs) } } 当我通过 ADB (adb shell am start -d myscheme://myhost/mypath) 通过深度链接打开该活动时,该活动正常启动。 但是当我通过 Chrome 应用程序启动它时,应用程序崩溃了: 原因:java.lang.IllegalArgumentException:缺少必需参数“someRequiredArgumentHere”并且没有 android:defaultValue 观察:我正在使用 Safe Args 插件。 我做错了什么以及为什么行为不同? 我刚刚发现为什么在通过浏览器导航时会忽略 startDestinationArgs。 如果我们检查NavController#setGraph(NavGraph, Bundle?)的内部代码,如果没有发生深层链接,NavController#onGraphCreated(Bundle?)只会使用startDestinationArgs。 作为一种解决方法,在设置导航图之前,我只需清除活动的意图(但这可能不是解决该问题的最佳方法)


为什么 Jetpack Compose Material 3 Card 可组合项的内容需要 ColumnScope?

我正在使用 Jetpack Compose,最近注意到 androidx.compose.material3 包中的 Card 可组合项要求其内容在 ColumnScope 中提供。具体来说,


onSuccess 回调是否已从查询(tRPC)中删除?

app/auth-callback/page.tsx 从 'next/navigation' 导入 { useRouter, useSearchParams } 从“反应”导入反应 从 '../_trpc/client' 导入 { trpc } 常量页面 = () => { 常量路由器 =


导航功能上出现 NullPointerException - Jetpack Compose NavHostController

我在 Jetpack Compose 应用程序上使用 FirebaseAuth 实现了 Google OneTap 身份验证。我面临的问题是,在我成功登录后,如果我关闭我的应用程序并重新启动它......


Jetpack Compose 按钮未更新,尽管使用 mutableStateOf 实现

我对 Jetpack Compose 比较陌生,我遇到了一个简单的按钮单击未按预期更新数字的问题。我有一个 Counter 可组合项,它采用初始计数值和 l...


由于水平寻呼机的寻呼机状态而陷入无限重组

此代码片段在滚动时进行无限重组,无法找到原因吗? 如何在 Jetpack Compose 中管理 HorizontalPager 中的状态和动画? 我正在使用 Jetpack Compose 并...


为什么 PopUp 可组合项在 jetpack compose 中不采用圆角?

我在我的jetpack compose项目中使用了PopUp可组合项。我已将角应用到 PopUp 可组合项内的 Surface,因为它本身不采用修饰符参数。但它只剪辑了


StateFlowcollectAsState没有更新他的值jetpack撰写导航

我正在jetpack compose中制作简单的导航应用程序。我正在使用撰写导航更改屏幕,使用一些简单的条件,但我的目标值始终与我初始化的值相同。 ...


错误错误:需要未知模块“未定义”

当我尝试使用 @react-navigation/bottom-tabs 时,出现以下错误: 错误:需要未知模块“未定义”。如果您确定该模块存在,请尝试重新启动 Metro。你可能...


如何在 Jetpack compose 中删除 TextField 底线

这是我的代码: 文本域( 值=文本, onValueChange = { onValueChanged(it) }, 修饰符 = 修饰符 .fillMaxWidth() .高度(100.dp) .pa...


startDestination 出现错误会在具有类型安全性的 Wear Navigation Compose 中出现错误

如何在具有类型安全版本的 Wear compose 中使用导航库。 SwipeDismissableNavHost 的 startDestination 属性不接受 NavHost 等任何值。 用于磨损导航的依赖项...


什么在 Next.js next/navigation 中的react-router-dom 中替换 useLocation() ?

最近,我从 React 迁移到 Next.js [email protected]。在我的网站中,我在使用 useNavigate() 推送时使用了状态,并使用 useLocation() 从另一个页面获取值。我怎样才能做同样的事...


为什么 Android 上两个组件之间的切换速度如此之慢?

我正在使用 Expo/React Native/Typescript 构建一个类似于填字游戏的小型拼图应用程序。 这是 PuzzleMain 组件的精简版本: const PuzzleMain:React.FC 我正在使用 Expo/React Native/Typescript 构建一个类似于填字游戏的小型拼图应用程序。 这是 PuzzleMain 组件的精简版本: const PuzzleMain: React.FC<PuzzleMainProps> = ({ navigation }) => { let puzzle: AcrosticPuzzleData = parseAcrosticPuzzle(PUZZLE_TEXT); const grid = <PuzzleGrid puzzle={puzzle} />; const clueView = <PuzzleCluesView puzzle={puzzle} />; const [index, setIndex] = React.useState(0); return <View style={styles.container}> {index == 0 ? grid : clueView} <View style={styles.keyboardContainer}> <Button onPress={() => setIndex(index == 1 ? 0 : 1)} title={"See " + routes[index == 0 ? "Grid" : "Clues"].key} /> <Keyboard /> </View> </View>; } 总结一下,有“网格”组件和“线索”组件,并通过按钮在它们之间进行切换。 毫不夸张地说,在我用来测试的 Pixel 5 上点击此按钮大约需要 3 秒的时间才能进行更改。我在这里做错了什么?使用Expo在网络上打开这个,它立即发生,所以可能它是Android特有的? 我尝试过的事情: 记住 PuzzleGrid 和 PuzzleCluesView 组件(const PuzzleGrid: React.FC<Props> = memo(({ puzzle }) ...。这基本上没有什么区别。我检查过,在我为备忘录功能制作的自定义拼图比较器中没有打印任何内容,所以我认为它没有重新渲染。 改用 TabView 在组件之间滑动 - 这有效!但说实话,我真的更喜欢两者兼得,而且当我将其合并到 TabView 实现中时,按钮同样很慢。 使用 npx expo start --no-dev 并仅构建一个 apk 并安装 - 这使得速度更快,但仍然可能需要整整一两秒,这太慢了。 正如我所看到的,您正在执行条件渲染,因此每次条件更改时,整个组件都会被创建为新组件。这种方法会使渲染速度变慢,具体取决于组件的重量。 为什么备忘录不起作用? Memo 是一种优化技术,并不能保证性能提升。 现在,提升加载速度 内部优化PuzzleGrid和PuzzleCluesView,比如每个可以接收重复道具的子组件都会被memo覆盖,重型物品会异步加载,使用loader。 使用 InteractionManager 提高加载速度,并帮助显示加载程序而不冻结 UI。 不要卸载组件,而是重叠它们并使用可见性,因为可见性不会卸载组件 而不仅仅是 {index == 0 ? grid : clueView}你可以尝试类似的事情 <View> {grid} <View style={{ // Add height and other required props to make it visible position: 'absolute', visibility: index == 0 ? 'hidden' : 'visible', }}> {clueView} </View> </View>


为什么我不能使用数据类的字段作为jetpack compose中lazyColumn的item的key?

一个非常非常简单的例子(implementation(platform("androidx.compose:compose-bom:2023.08.00"))): com.study.myapplication 包 导入 android.os.Bundle 导入 androidx.activity。


Jetpack Compose:查找文本在组合之前需要多少行

我试图确定某个文本在合成之前将在屏幕上占据多少行。有办法做到这一点吗?


当我在代码中使用 CenterAlignedTopAppBar 时出现编译错误

嗨,我是 jetpack 的新手,这是我的代码 @可组合 有趣的 WoofApp() { 脚手架( 顶部栏 = { CenterAlignedTopAppBar(标题 = { Text(text = "hi") }) // 错误 ...


在 Jetson Nano 上安装 C++ 版 torchvision

我想在我的 Jetson Nano (Jetpack 4.5) 上使用 torchvision c++。 我只需要 torchvision 中的 torchvision::ops::nms 函数。如果您可以提供该功能的源代码或替代工具...


使用 Dagger 2 进行 Jetpack Compose 和 DI

最近我在做一个小项目,想到了一件事关于compose和dagger。 通常我使用带有注入功能的 Dagger,这对我来说是一切,但现在看来它不是......


在测试中更改配置时,Composable 不记得输入

我正在为 Jetpack Compose 组件编写仪器测试。我的可组合项使用 RememberSaveable 来记住配置更改(活动重新启动): @可组合 有趣的添加用户屏幕(){ ...


如何为Android Pay添加假信用卡Visa?

我正在开发一个Android应用程序,它使用android pay进行付款。在 https://codelabs.developers.google.com/codelabs/android-pay/#13 网站中。这是网站上写的


如何使用 jetpack compose 在 ModalBottomSheet 上放置粘性底部行/栏

将项目放入 ModalBottomSheet 中时,它们会堆叠并展开底部工作表,直到达到一定的高度阈值,超过该高度,用户必须向上滚动底部工作表才能加载...


在 Android 14 中启用输入法时出错 - ANDROID

在 Android 中,启用输入之前工作正常,但当我在 Android 14(sdk 34)中测试时,出现以下异常。 致命异常:java.lang.SecurityException:设置键:<


Jetpack Compose:行中多行文本,具有粗细和换行文本内容

我有一个行布局,里面有两个可组合项: 当内容较长时,文本应包裹自身宽度并占用尽可能多的空间 每次都必须出现在右侧的图像...


如何在jetpack compose中从屏幕向AppBar做出贡献

我想实现一个简单的用户流程,用户可以看到多个屏幕来输入数据。该流程应该共享一个通用的导航栏,每个屏幕在激活时都可以贡献其菜单项...


Jetpack 撰写导航 - 将参数传递到起始目标视图模型

我有一个多个活动应用程序,每个活动都有自己的导航图。我可以使用参数启动活动,但我不知道如何正确地将此参数放入启动目的地...


Jetpack Compose - 检测 LazyColumn 的滚动位置何时位于第一个索引

我想要为我的 LazyColumn 添加一个滚动回到顶部按钮。我成功地使按钮起作用了。但如果我已经位于 LazyColumn 的顶部,我希望它不可见。我怎样才能实现...


Android Studio:导入库的奇怪问题

我正在尝试使用 Android Studio (gradle 8) 和公共 github 库:AndroidUSBCamera 创建一个 Android 应用程序。 我不认为我面临与库相关的问题,而是依赖/gradle/android


Android Studio 中选择一行代码的快捷方式

android studio中有选择一行代码的捷径吗?


Android 无法请求 Android 13 设备的存储权限

在我的Android项目中,我要求用户打开相机。除此之外,我还要求获得存储许可。该权限适用于 Android 版本 12 及以下版本,但适用于...


MAUI 中切换风格问题

我正在我的 MAUI 项目上使用开关。我在 Android 设备 10 和 11 上发现了样式问题,但在 Android 12 上,不存在样式问题。 以下是 Android 10 和 Android 11 的屏幕截图。 贝尔...


在 Android Studio 可组合项中使用滑块

我正在尝试使用 Android Studio 编写一个 Android 应用程序。 看来最新的 android studio 只支持 Kotlin。 我想要一个函数来生成一个滑块,该滑块的起始值介于...


Xamarin MediaPicker 在 Android 11 上保存图像,但在 Android 10 上不保存图像

我正在关注 Xamarin.Essentials:媒体选择器 我有两个 Android 设备用于测试,安装了 android 11 的设备拍摄照片并将其保存到手机上,另一个


如何在 Android for Cars Android Auto 中向行添加操作?

我想在 Android Auto 的汽车应用程序 Android 中显示一个列表。该列表应包含带有两个按钮的项目,用于单独的操作。 我尝试添加 addAction(),但似乎没有用...


当我尝试“将项目与 gradle 文件同步”时,会弹出警告

警告:将新的 ns schemas.android.com/repository/android/common/02 映射到旧的 ns schemas.android.com/repository/android/common/01 警告:映射新的 ns schemas.android.com/repository/android/ge...


Android Studio 未检测到移动设备

我正在运行Android Studio Flamingo版本。我的 Samsung M32 已连接用于调试应用程序,但 Android Studio 未检测到它。运行“故障排除设备”时


启动应用程序时出现 Android INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION

我是Android开发新手,这是我第一次尝试。当尝试运行 android studio 创建的模板项目时,我看到以下错误。 未能完成会话:


C# 上的 android 电报

有人有一个用 C# 编写的可以在 android 上运行的简单电报客户端示例吗? 我找到了简单的android java示例:https://github.com/androidmads/TelegramBotSample 我发现很简单...


如何在Android模拟器上测试物理鼠标

Android 8 添加了对指针捕获的支持。 https://developer.android.com/training/gestures/movement.html#pointer-capture 有什么办法可以在android模拟器中测试它吗?默认鼠标


Flutter - 错误:JAVA_HOME 在 macos 中设置为无效目录

我正在使用 android studio 开发 android 原生和 flutter 项目。我的android本机项目jdk设置为/Applications/AndroidStudio.app/Contents/jbr/Contents/Home并且我已经下载了...


© www.soinside.com 2019 - 2024. All rights reserved.