小编Val*_*kov的帖子

“JCenter 已结束生命”android lint 警告,替代品是什么?

Android Studio Arctic Fox Canary 8 开始发出警告 JCenter is at end of life

在此处输入图片说明

但是我不能只是删除jcenter()声明,因为它承载了很多 android 工件,它会导致Could not resolve all artifacts错误。解决此警告的正确方法是什么?

android android-studio android-gradle-plugin

92
推荐指数
3
解决办法
1万
查看次数

如何更改 Android Jetpack Compose 中子布局的绘制顺序?

默认情况下,在 Jetpack Compose 中,布局子级渲染顺序与代码中子级的顺序匹配。在以下示例中,船(文本)将绘制在水面(方框)上。

\n
@Composable\nfun DrawingOrderExample(submarineMode: Boolean) {\n    Box(contentAlignment = Alignment.Center) {\n        Box(\n            modifier = Modifier\n                .size(32.dp)\n                .background(Color.Cyan.copy(alpha = .5f))\n        )\n\n        Text("\xe2\x9b\xb5")\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我可以根据论证强制把船拖到水下吗submarineMode

\n

android android-jetpack android-jetpack-compose

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

Android Jetpack Compose Icons 不包含部分材质图标

androidx.compose.material.icons.Icons 中有许多常用的材质图标,但有些缺失。举个例子,没有打印图标

...

import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu  // ok
import androidx.compose.material.icons.filled.Print // error, unresolved reference

@Composable
fun IconsExample() {
    Icon(Icons.Filled.Menu, "menu")   // ok
    Icon(Icons.Filled.Print, "print") // error, unresolved reference
}
Run Code Online (Sandbox Code Playgroud)

在应用程序中使用这些缺失图标的最简单方法是什么?

android android-jetpack android-jetpack-compose

15
推荐指数
1
解决办法
3767
查看次数

Android Jetpack Compose 中的 Modifier.wrapContentWidth() 与 Modifier.width(IntrinsicSize.Max)

假设我想创建一个与其中最宽的子文本一样宽的列。为此,列可以使用修饰符 或,但结果看起来相同。这两个修饰符有什么区别?例如:.wrapContentWidth().width(IntrinsicSize.Max)

Column(
    modifier = Modifier.wrapContentWidth()
//  modifier = Modifier.width(IntrinsicSize.Max)
) {
    Text("short text", Modifier.background(Color.LightGray))
    Text("some longer text", Modifier.background(Color.LightGray))
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

android android-jetpack android-jetpack-compose

14
推荐指数
1
解决办法
9417
查看次数

我什么时候应该使用 Android Jetpack Compose Surface 可组合?

Jetpack Compose 中有Surface可组合,它表示材料表面。表面允许您设置诸如背景颜色或边框之类的内容,但似乎可以使用修饰符来完成相同的操作。我应该什么时候使用 Surface 可组合组件以及它给我带来的好处?

android android-jetpack android-jetpack-compose

11
推荐指数
3
解决办法
2492
查看次数

如何在 Android Jetpack Compose 中使用字符串资源?

让我们有以下strings.xml资源文件:

<resources>
    <!-- basic string -->
    <string name="app_name">My Playground</string>

    <!-- basic string with an argument -->
    <string name="greeting">Hello %!</string>

    <!-- plural string -->
    <plurals name="likes">
        <item quantity="one">%1d like</item>
        <item quantity="other">%1d likes</item>
    </plurals>

    <!-- string array -->
    <string-array name="planets">
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)

如何在 Jetpack Compose 中使用这些资源?

android android-resources android-jetpack android-jetpack-compose

10
推荐指数
2
解决办法
2229
查看次数

如何在 Android Jetpack Compose 中将 Dp 转换为像素?

大多数 Jetpack Compose API 使用Dp作为尺寸单位,但有时需要像素值。如何将 dp 值转换为 px?举个例子,graphicsLayer()修饰符接受translationX/Y以像素为单位的参数。

android android-jetpack android-jetpack-compose

10
推荐指数
2
解决办法
2985
查看次数

Jetpack Compose - 修饰符顺序

文档说修饰符是从左边应用的。但从这个例子来看,它们似乎是从右侧应用的:首先边框,然后填充,因为文本和边框之间没有空格

Text("Hi there!", Modifier.padding(10.dp).border(2.dp, Color.Magenta))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android modifier android-jetpack android-jetpack-compose

8
推荐指数
3
解决办法
2449
查看次数

Mobile Safari 点击事件“详细信息”属性始终为 1

UIEvent.detail属性应包含当前的点击计数。MDN Web 文档表明该属性在所有现代浏览器上都得到完全支持,并且它在我测试过的所有浏览器(移动 Safari 除外)上都能正常工作。我在 IOS 12.3.1 上尝试了我的 Angular 应用程序和MDN 示例detail,无论点击了多少次,该属性始终为 1。是手机 Safari 的问题吗?有什么解决方法(无需手动计算点击次数)吗?

html mobile-safari

6
推荐指数
0
解决办法
155
查看次数

Android WorkManager ListenableWorker 实现:未找到 ListenableFuture 接口

我正在尝试实现 Android ListenableWorkerstartWork() 方法返回com.google.common.util.concurrent.ListenableFuture接口,但最后一个不可用。我还需要com.google.common.util.concurrent.SettableFuture实施,但这也是不可用的。我应该包含哪个模块才能使这些类型可用?

应用程序.gradle

...
dependencies {
    ...
    implementation "androidx.work:work-runtime-ktx:2.1.0"
}
Run Code Online (Sandbox Code Playgroud)

我的Worker.kt

class SendRegistrationTokenWorker(
    context: Context,
    params: WorkerParameters,
) : ListenableWorker(context, params) {
   override fun startWork(): ListenableFuture<Result> { ... }
}
Run Code Online (Sandbox Code Playgroud)

据我了解,我想要的依赖项是com.google.guava:listenablefuture:1.0,但androidx.work:work-runtime-ktx:2.1.0已经依赖于它,以及应用程序使用的其他库。问题是com.google.guava:listenablefuture:1.0解析为com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava,它不包含所需的类型,它只是一个模拟依赖项。

我尝试添加单独的com.google.guava:listenablefuture:1.0依赖项,但它也解析为com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava并且没有任何变化。

如果我强制listenablefuture版本为1.0,我会收到错误:

程序类型已存在:com.google.common.util.concurrent.ListenableFuture

android {
    ...
    configurations.all {
        resolutionStrategy {
            force "com.google.guava:listenablefuture:1.0"
        }
    }
}
...
Run Code Online (Sandbox Code Playgroud)

android android-architecture-components android-workmanager

6
推荐指数
1
解决办法
1481
查看次数