小编Has*_*ssa的帖子

TextField maxLength - Android Jetpack Compose

是否有任何开箱即用的解决方案来限制 TextField 中的字符大小?我没有看到像 XML 中那样的任何 maxLength 参数。

android kotlin android-jetpack-compose

6
推荐指数
4
解决办法
859
查看次数

连接管理器 - AllNetworks 已弃用

在替换此已弃用的代码以检查设备上的互联网连接时,有人可以为我指出正确的方向吗?

private val isNetworkAvailable = MutableStateFlow(false)

fun checkNetworkAvailability(context: Context): MutableStateFlow<Boolean> {

    val connectivityManager =
        context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    connectivityManager.registerDefaultNetworkCallback(this)

    var isConnected = false
    // allNetworks Deprecated
    connectivityManager.allNetworks.forEach { network ->
        val networkCapability = connectivityManager.getNetworkCapabilities(network)
        networkCapability?.let {
            if(it.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) {
                isConnected = true
                return@forEach
            }
        }
    }

    isNetworkAvailable.value = isConnected

    return isNetworkAvailable
}
Run Code Online (Sandbox Code Playgroud)

android kotlin

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

一键登录 - Jetpack Compose 的活动结果

我正在尝试将 Google 一键登录集成到我使用 Jetpack Compose 构建的应用程序中。我正在使用 startIntentSenderForResult 启动意图,但现在的问题是我无法从可组合函数接收活动结果。我正在使用 RememberLauncherForActivityResult 从意图获取结果,但仍然没有得到任何结果。有什么解决办法吗?

登录界面

@Composable
fun LoginScreen() {
    val activity = LocalContext.current as Activity

    val activityResult = remember { mutableStateOf<ActivityResult?>(null) }
    val launcher = rememberLauncherForActivityResult(
        ActivityResultContracts.StartActivityForResult()
    ) { result ->
        val oneTapClient = Identity.getSignInClient(activity)
        val credential = oneTapClient.getSignInCredentialFromIntent(result.data)
        val idToken = credential.googleIdToken
        if (idToken != null) {
            // Got an ID token from Google. Use it to authenticate
            // with your backend.
            Log.d("LOG", idToken)
        } else {
            Log.d("LOG", "Null Token")
        }

        Log.d("LOG", "ActivityResult") …
Run Code Online (Sandbox Code Playgroud)

android kotlin google-signin google-one-tap

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

LocationRequest (FusedLocationProviderClient) - 已弃用

LocationRequest 现已弃用?它的替代品是什么?

我正在使用它,最近收到一条弃用消息。我现在应该怎么做:

val locationRequest = LocationRequest().apply {
            interval = LOCATION_UPDATE_INTERVAL
            fastestInterval = LOCATION_FASTEST_INTERVAL
            priority = LocationRequest.PRIORITY_HIGH_ACCURACY
        }
        fusedLocationProviderClient.requestLocationUpdates(
            locationRequest,
            locationCallback,
            Looper.getMainLooper()
        )
Run Code Online (Sandbox Code Playgroud)

android kotlin fusedlocationproviderclient

4
推荐指数
1
解决办法
3590
查看次数

Gradle 版本 6.7.1 - 升级失败

几个小时前,我已将我的 Android Studio 升级到 4.2 版本,现在当我打开一个旧项目时,我收到了来自 Android Studio 的消息,要求将 Gradle 版本升级到 6.7.1。在我这样做之后,我收到了这个错误消息,我无法再构建我的项目......我也尝试过从 Android Studio 提供的解决方案,但没有成功。有什么帮助吗?

在此处输入图片说明

在此处输入图片说明

错误:

无法找到方法 ''void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com.android.build.api.extension.VariantSelector, kotlin .jvm.functions.Function1, int, java.lang.Object)'' 'void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com .android.build.api.extension.VariantSelector, kotlin.jvm.functions.Function1, int, java.lang.Object)'

Gradle 的依赖缓存可能已损坏(这有时发生在网络连接超时之后。)

重新下载依赖项并同步项目(需要网络) Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护进程可能会解决这个问题。

停止 Gradle 构建过程(需要重新启动) 您的项目可能正在使用第三方插件,该插件与项目中的其他插件或项目请求的 Gradle 版本不兼容。

在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。

android gradle android-studio build.gradle

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

如何在 LaunchedEffect 中使用 LocalContext?

Context有没有办法在 a 内获得LaunchedEffect?我需要调用某个需要对象引用Context才能执行的函数。

我不能使用LocalContext.current,因为:

@Composable 调用只能在 @Composable 函数的上下文中发生

android kotlin android-jetpack-compose

4
推荐指数
1
解决办法
1547
查看次数

如何使画布上的圆弧居中 - Jetpack Compose?

我不确定如何进行计算以使该弧在画布上居中?有人能指出我正确的方向吗?

Canvas(modifier = Modifier
    .background(Color.LightGray)
    .fillMaxWidth()
    .height(300.dp)
) {
        drawArc(
            color = Color.Blue,
            startAngle = 30f,
            sweepAngle = 300f,
            useCenter = false,
            style = Stroke(width = 50f, cap = StrokeCap.Round),
            size = size/2.25F
        )
}
Run Code Online (Sandbox Code Playgroud)

android android-canvas kotlin android-jetpack-compose android-jetpack-compose-canvas

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

PainterResource() 用黑色绘制我的矢量

好的,我已经创建了自己的 .SVG 矢量图标并将其作为 XML 导入 Android Studio。现在我正在尝试使用相同的向量创建一个图标。但是,当我在 PainterResource() 中指定该向量时,它会将其绘制为黑色。而我原来的 SVG 有多种颜色。为什么会发生这种情况?

Icon(
     painter = painterResource(id = R.drawable.ic_google_logo),
     contentDescription = "Google Button"
    )
Run Code Online (Sandbox Code Playgroud)

当我添加该图标时,我看到的是: 在此处输入图片说明

这就是该图标的实际显示方式: 在此处输入图片说明

android kotlin android-jetpack-compose

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