我正在尝试按照本指南将项目从 Material2 规范迁移到 Material 3 撰写库。
目前Material2中的LazyColumn已经集成了Pull刷新功能,可以在这里找到
但是,我没有找到 Material3 的任何此类功能。这里有一个开放的问题跟踪器,但他们说这个功能只会在今年年中才会被考虑,等待的时间太长了。
有谁知道这种情况应该如何处理?拉动刷新是我们应用程序用户流程的重要流程,因此没有它不是一个选项。
accompanist/swipeToRefresh
即使它已被弃用,我们还应该使用吗?
我还不精通编写自定义组合组件,因此任何帮助解决这个问题的帮助将不胜感激
android material-design android-jetpack-compose android-jetpack-compose-material3
我正在尝试将以下选项添加到Android 库的gradle.kts文件中
android{
androidResources {
noCompress += "tflite"
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,每当我尝试同步项目时,我都会收到此错误
- 出了什么问题:类 com.android.build.gradle.internal.dsl.AaptOptions$AgpDecolated_Decolated 无法转换为类 com.android.build.api.dsl.LibraryAndroidResources (com.android.build.gradle.internal.dsl.AaptOptions $AgpDecolated_Decolated 和 com.android.build.api.dsl.LibraryAndroidResources 位于加载器 org.gradle.internal.classloader.VisitableURLClassLoader @481a697b 的未命名模块中)
有人知道我该如何解决这个问题吗?互联网在这里似乎没有用。
像这样使用已弃用的旧版本不会产生任何错误
aaptOptions{
noCompress += "tflite"
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 Android Gradle 插件 8.1.0-beta05 和 gradle 包装器 8.0,但与 AGP 8.1.0-beta04 的行为相同
这是 gradle.kts 文件:
@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed
plugins {
alias(libs.plugins.com.android.library)
alias(libs.plugins.org.jetbrains.kotlin.android)
}
android {
namespace = "com.example.mylibrary"
compileSdk = 33
defaultConfig {
minSdk = 26
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用蓝牙的 Android 应用程序,我想使用新的 Android 12 Bluetooth_SCAN 和 CONNECT 权限来消除对位置权限的需要
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
如蓝牙文档所示
问题是,该应用程序有一项主要功能和一项可选功能。主要功能在这些权限下运行良好。
然而,可选功能使用信标扫描。当使用“neverForLocation”标志时,Android 操作系统会从扫描中过滤掉这些信标。
注意:如果您在 android:usesPermissionFlags 中包含 neverForLocation,则会从扫描结果中过滤掉一些 BLE 信标。
如果从清单权限中删除了该标志,则在扫描期间会出现信标。
但是,如果我从清单中删除此标志,那么即使不想使用此功能的用户也必须提供位置权限,否则正常的 BLEScan 不会返回任何内容。这是我想避免提供的事实,即这些新权限的全部原因是避免询问用户位置。
有没有办法在向操作系统发出实际运行时请求权限时提供此标志,而不是在清单中声明它?任何帮助或想法表示赞赏。
我正在学习 Jetpack Compose,并且创建了几组按钮作为练习。
这是按钮
@Composable
fun MyButton(
text: String,
modifier: Modifier = Modifier,
isEnabled: Boolean = true,
onClick: () -> Unit,
) {
Button(
enabled = isEnabled,
onClick = { onClick() },
modifier = modifier.width(270.dp).wrapContentHeight(),
) {
Text(
text = text,
style = MaterialTheme.typography.button
)
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果我将按钮的高度设置为wrapContentHeight
或使用heightIn
不同的最大值和最小值,则 compose 会自动在按钮周围添加一个空格,如此处所示
但是如果我删除 WrapContent 并使用固定高度,或者定义相同的最小和最大高度,heightIn
则不会出现此问题
@Composable
fun MyButton(
text: String,
modifier: Modifier = Modifier,
isEnabled: Boolean = true,
onClick: () -> Unit,
) {
Button(
enabled …
Run Code Online (Sandbox Code Playgroud)