小编ich*_*en2的帖子

Android Studio 卡在“正在连接模拟器”

我最近更新了 Android studio,和往常一样,它坏了。每当我尝试启动模拟器时,Android Studio 就会永远卡在“正在连接模拟器”屏幕中。

我尝试过的事情:

  • 将 VM 堆大小增加到 512mb
  • 将 RAM 大小减少至 512mb
  • 擦除设备数据
  • 使缓存失效并重新启动 Android Studio
  • 更改设备的系统映像(至 API 32 arm64-v8a)
  • 重新安装虚拟设备
  • 安装新的虚拟设备

我使用的是 M1 Macbook 并运行 Android Studio Bumblebee 2021.1.1 Patch 3

编辑:我也尝试过切换到冷启动

android android-emulator android-studio

20
推荐指数
4
解决办法
2万
查看次数

如何在 Jetpack Compose 中勾勒文本

我有一个 Jetpack Compose Text() 元素,我想像这样用黑色勾勒出轮廓 这个.
有人知道怎么做吗?我试过使用 border() 修饰符,但这只是在包含文本的矩形区域周围添加了一个边框。我也试过覆盖两个文本元素,但这也不太奏效。

android android-jetpack-compose android-jetpack-compose-text

5
推荐指数
1
解决办法
385
查看次数

如果列表为空则返回 null 的更简洁方法

我目前有一些与此类似的 Jetpack Compose 代码:

val filteredList: List<String> = someList.filter { // some condition }
someState.value = if(filteredList.isNotEmpty()) filteredList else null
Run Code Online (Sandbox Code Playgroud)

我使用某些条件过滤列表,然后将某些状态设置为等于该过滤列表。但是,如果过滤列表为空,我希望将状态设置为空。

这段代码可以工作,但我想知道在 Kotlin 中是否有更简洁的方法来做到这一点?我尝试过使用作用域函数,但我无法弄清楚当过滤列表为空时如何返回空值。

kotlin android-jetpack-compose

2
推荐指数
1
解决办法
5347
查看次数

在可点击修饰符中获取上下文的最佳方法

我有一段文本,我想在单击时调用函数 X。我使用 clickable 修饰符并在 onClick 方法中调用函数 X 来执行此操作。然而,函数 X 使用 Context。

为了解决这个问题,我使用下面概述的方法:

@Composable
fun ClickableText() {
    val context = LocalContext.current
    Text("Click me!", Modifier.clickable { functionX(context) })
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,这种方法有什么问题吗?它似乎有效,但存储对 LocalContext.current 的本地引用似乎有点棘手。如果 Context 在 UI 组合和 onClick 方法调用之间的时间发生变化,我认为这可能会导致一些问题。有没有更好的方法在不可组合的回调函数中获取 Context?

android android-context android-jetpack-compose

2
推荐指数
1
解决办法
953
查看次数