问题标签 [composable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
570 浏览

javascript - 安装vue后如何更新模板参考

我正在尝试在模板安装后运行一个函数,无论是计算的还是观察或观察效果。watcheffect 只执行一次,在安装之前计算当然会运行。我已经尝试flush: 'post'过手表效果和手表冲洗,我很卡住。查看文档,它应该可以按预期工作: https ://v3.vuejs.org/guide/composition-api-template-refs.html#watching-template-refs

因此,使用模板引用的观察者应该使用 flush: 'post' 选项来定义。这将在 DOM 更新后运行效果,并确保模板 ref 与 DOM 保持同步并引用正确的元素。

应用程序.vue

//composable.js

0 投票
1 回答
739 浏览

android - 如何单独/单独对齐行内的子可组合项?

我是jetpack compose的新手,我正在尝试做一件我无法完成的简单事情。

我想做的是在同一行对齐一个组件,在这种情况下,一个表面,在开始处,另一个,列,在行尾。

怎么能得到这个?

我正在尝试这个,但它不起作用。

提前致谢

0 投票
1 回答
268 浏览

android - 撰写 AndroidView 不显示我的 customView

我正在尝试在撰写视图中重用 customView。我遵循指南来实现这一点,但我无法在 DefaultPreview 中显示我的 customView,并且在运行应用程序时没有显示任何内容。

这就是我正在尝试的:

提前致谢

Java视图代码:

布局xml:

0 投票
1 回答
54 浏览

android - 是否可以在可组合中插入扩展 Framelayout 的 Java 视图

可以在可组合组件内插入扩展 Framelayout 的 Java 视图。我想要实现的是在撰写视图中插入一个旧视图组件。

我正在搜索,但没有找到任何参考。

0 投票
1 回答
217 浏览

android - 在撰写中单击时,DropDownMenu 不显示

我有一张图片,我想在用户点击图片时显示一个 dropdownMenuItem。我正在调试应用程序,我可以看到代码通过了 DropdownDemo 方法,但没有显示任何内容。

难道我做错了什么?

点击代码

下拉菜单:

0 投票
1 回答
1356 浏览

android - 如何控制 Jetpack Compose 中的 DropDownMenu 位置

我有一排文本在开头对齐,图像在结尾对齐。当我按下图像时,我正在显示一个 DropdownMenu,但它出现在行的开头,我希望它出现在行的末尾。

我正在尝试在修改器组件中使用 Alignment.centerEnd 但不起作用。

如何使弹出窗口出现在行尾?

0 投票
2 回答
1616 浏览

android - 在 Android 中输入/加载基于 Jetpack Compose 的屏幕时从网络或数据库获取数据

我是 Jetpack Compose 和 Kotlin 的新手,但我正在尝试使用最近稳定的 Jetpack Compose v1.0.0.0开发移动应用程序

我正在使用NavController导航,我的屏幕是使用可组合功能制作的。

因为我的屏幕本身是一个可组合函数,所以我无法理解如何在可组合函数条目上加载一些 API/DB 数据。

我试图阅读关于LaunchedEffect,但不知道这是否是正确的方法,而且实现起来也很复杂。

这是示例代码:

  1. DemoScreen.kt: 认为这是我的startDestination屏幕NavHost

    @Composable fun DemoScreen(navController: NavController) {

    }

  2. 我的NavHost样子是这样的(这很好用):

    @Composable fun NavigationMaster() { val navController = rememberNavController() val defaultScreen = Screens.DemoScreen.route

    }

  3. 如何在DemoScreen可组合条目上调用函数以在呈现屏幕之前获取来自我的 API 的数据。

  4. 如果我能得到以上信息,那么我认为我应该能够实现计时器部分,以使用循环和/或计时器自动刷新来自 API 的数据。

这是此屏幕当前外观的演示屏幕截图(演示按钮不执行任何操作,请忽略它):

0 投票
0 回答
310 浏览

mvvm - 视图模型 + 导航 + 撰写

在 Compose 中,在创建 Composable 时ScreenA(它们将代表整个屏幕内容),将整个视图模型作为参数传递给 Composable 是否是一个不错的选择?我的意思是这些值存储在视图模型中。需要(如果)从多个屏幕访问相同的值,我如何读取这些值。我是否可以在可组合对象中初始化视图模型,并确保将交付与应用程序其余部分相同的实例,或者我应该只传递所需的值(我认为这是不可行的,因为随着时间的推移可能会有很多值随着开发的进行)作为可组合的参数?

确实,使用工厂应该是一个可行的解决方案。

0 投票
1 回答
472 浏览

android - 如何将我的自定义视图迁移到 Jetpack Compose?

我有一个以传统方式创建的自定义视图:从View类继承。

具体来说,我的自定义视图有许多可以在 XML 布局中分配的自定义属性(及其相应的 Kotlin 属性):

如何提供我的可组合的视图版本,以便用户可以在 XML 中使用它?

除了使用AndroidView类在 Jetpack Compose 中加载传统的 Android 视图之外,如何我的视图转换为“真正的”Compose 组件?

我应该为自定义视图的每个部分提供单独的可组合项吗?例如,一个可组合的饼图,另一个可组合的图例框?

Android 开发者文档没有提到如何将自定义视图转换为 Compose。

0 投票
1 回答
526 浏览

android-jetpack - 尝试在 Jetpack Compose 中使用 PNG 时出现 Android IllegalArgumentException

我正在尝试通过https://developer.android.com/jetpack/compose/tutorial上的 Jetpack Compose 教程。我正在添加图像,并且正在使用他们提供的图像。

个人资料图片

我已将其保存在资源管理器中。我在这里称呼它:

但我得到了错误java.lang.IllegalArgumentException: Only VectorDrawables and rasterized asset types are supported ex. PNG, JPG。我已经检查了图像的标题字节,‰PNG它们应该是这样的。我在这里错过了一些相当明显的东西吗?