android-jetpack-compose相关内容
在多模块、单模块上显示Snackbar的最佳方式是什么 活动,是否仅撰写项目? 项目依赖关系图如下所示: 项目的唯一活动在app模块内,它just sets the NavHost as content。 将在NavHost上显示的每个feature模块provides a list of composable screens。 每个屏幕都有its own Scaffold
..
我正在尝试使用画布创建此形状 enter image description here 推荐答案 您可以子类化Shape接口,实现createOutline方法。Outline.Generic接受任何Path对象,因此您可以通过添加直线、曲线、圆角矩形等来构建任意形状。 class CustomShape(val param: Int): Shape { override
..
LazyColumnHasitem keys,以便将项的状态绑定到唯一标识符,而不是列表索引。有没有办法在这样的非惰性列表中使用项键? Column { for (item in list) { Text(item) } } 我问这个问题是因为我想实现SwipeToDismiss从列表中删除项,这只有在您将键传递给LazyColumn(solution)时才起作用,但我的
..
我正在制作一个应用程序,用户首先需要登录才能从后端获得许多不同的数据。(多个端点) 所以我有一个用于登录的视图模型,而我有许多用于所有其他数据的视图模型。 其他视图模型需要第一个视图模型中的令牌才能从后端获取数据。 我不知道如何才能做到这一点。 我在想,我可以在某种状态管理器中使用登录屏幕,它会将UI定向到正确的屏幕,如下所示 @ExperimentalCompose
..
我有一个普通的XML视图,在NestedScrollView中有一个LinearLayout。里面有一个普通视图和一个包含androidView的可合成视图。 布局:
..
我正在为我的应用程序中的一项功能尝试Jetpack Compose。出于页面加载跟踪的目的,我希望跟踪呈现片段UI所用的时间。如果是Jetpack Compose,我该怎么做? 推荐答案 var time = remember { currentTimeInMillis() } Composables(...) { innerMostComposable{ //If this loads
..
好的,我一直在尝试在我的应用程序中实现滑动删除功能。每当我滑动列表中的一项时,我都能看到后面的红色背景,一切都运行得很好。同时,当我删除一个项目时,滑动动画也被成功触发。(尽管我不确定使用延迟是不是一个好主意?我想不出任何其他方法来做这件事)。 但是向数据库/列表添加项目时输入动画不起作用,我不确定原因。以下是我的Lazy专栏的代码 @Composable fun DisplayTasks(
..
我想显示符合以下规则的图像: 映像是远程的,需要在运行时加载。 在加载之前,我们不知道图像的大小。 Image视图应采用父视图的全宽,并应自动调整其高度以匹配远程加载的图像,以便不会发生裁剪/拉伸。 我尝试使用Coil dependency,我有以下代码: Image( painter = rememberImagePainter(viewModel.fullImag
..
当我更改用于显示下载进度条的对象中的某个字段的值时,从viewModel()可靠地更新我的Activity/UI层时遇到了问题。该活动可以很好地观察到向列表添加对象和从列表中删除对象,但不会更改进度字段。 数据类 data class DownloadObject( val id: String?, var progress: Float, ) 视图模型 clas
..
我只想在加载Composable时运行代码一次。因此,我使用LaunchedEffect With Key为True来实现此目的。 LaunchedEffect(true) { // do API call } 这段代码运行得很好,但只要有任何配置更改,比如屏幕旋转,就会再次执行这段代码。如何在配置更改的情况下阻止它再次运行? api 最简单的解决方案是存储您是否使用
..
我有一个由片段组成的屏幕,该屏幕中有一个按钮。 按下此按钮时,我要取消该片段/返回到上一屏幕。 但我无法访问onClick内的任何活动/片段方法。 我如何才能做到这一点? @AndroidEntryPoint class MyFragment @Inject constructor() : Fragment(){ @ExperimentalComposeUiApi
..
我试着查了一下,但找不到任何相关的东西。 我想在可垂直滚动的Box内放置&Full Size&Column,但这种组合似乎行不通。将verticalScroll(rememberScrollState())修饰符添加到Box时,似乎禁用了Column 的fillMaxSize()修饰符 以下代码未按预期工作: MyTheme { Box( m
..
我正在使用此组件,但遇到了问题,因为我得不到相同的结果: HorizontalPager(count = tabTitles.size, state = pageState) { page -> Log.i("Polaris", "Hi, I'm page $page") Log.i("Polaris", "Hi, I'm currentPage $currentPage
..
我会取一个简单的样本。 我有两个屏幕:屏幕A和屏幕B。从屏幕A,我打开屏幕B。当我将屏幕B返回到屏幕A时,我想将数据传输回屏幕A。 对于Android Fragment,我可以使用Shared ViewModel或Fragment Result API来完成此操作。 但使用Android Compose时,片段结果Api不在Compose中。使用Shard ViewModel时,我需要
..
我需要做的是一个固定大小的框,第一个框下面的另一个框将填充剩余的空间。我有以下代码: Column { Box( modifier = Modifier .background(Color.Red) .fillMaxSize() ) Box( contentAlignment = Cent
..
有没有让Android Studio Jetpack编写自动刷新功能,就像在Fflight中热重新加载一样,这太烦人了!Jetpack Compose查看器中是否有自动刷新功能? 推荐答案 目前,Compose不支持热重新加载。 但是文字值可以直接更新。 一些受支持的类型。 Int 字符串 颜色 DP 布尔值 通过启用这些突出显示的值,您可以查
..
我基于this answer制作了一个垂直滑块,现在需要为每个滑块添加标题和值。 如果我在修饰符中设置一个固定的宽度值modifier.width(180.dp),它看起来就像这样 但是,我想让滑块高度与设备屏幕大小相对应,因此我将宽度设置为modifier.fillMaxWidth(),底部文本将消失 这是我的垂直滑块构图,我尝试在此处设置修改器中的高度。 @Compos
..
如何在JetPackCompose中创建四舍五入的复选框,如this。我尝试在其上使用可组合的形状,但不起作用。 推荐答案 我正在寻找如何做您问的相同的事情,您的问题帮助了我的旅程,所以我分享这是公平的。加上一些动画,你就是我的朋友了。 使用方框和图标制作圆形图标 Box( modifier = Modifier .clip(CircleS
..
In this link被指示在任何组合中使用viewModel(),在活动中,我们在调用viewModel()时会得到相同的对象。尽管它被指示在Composable中使用viewModel(),但我也能够在setContent{}中(在任何Composable之外)使用它。 In this link指示在活动或片段中使用viewModels(),以获取扩展ViewModel的类的对象。
..
我正在尝试实现类似this的内容,但使用Jetpack Compose。换句话说,像我们在RecyclerView和ItemTouchHelper和class DiffCallBack : DiffUtil.ItemCallback()中一样滑动以删除,我们可以看到enter - exit animations,然后列表在插入或删除项目的位置优雅地上下移动。 这是我尝试过的
..