小编Age*_*ntP的帖子

AnimatedVisibility 不会扩展 Jetpack Compose 对话框中的高度

所以我的项目中有这个可组合项......

 @Composable
 private fun ShowDialog() {
        var showText by remember { mutableStateOf(false) }

        val text = if (showText) {
            "Hide Text"
        } else {
            "Show Text"
        }

        Dialog(onDismissRequest = { }) {
            Card(modifier = Modifier.padding(15.dp)) {
                Column(modifier = Modifier.padding(15.dp)) {
                    AnimatedVisibility(visible = showText) {
                        Text(
                           text = "Here is the show text sample",
                           modifier = Modifier.padding(5.dp),
                           style = MaterialTheme.typography.body1,
                           color= Color.Black
                        )
                    }

                    Button(onClick = { showText = !showText }) {
                        Text(text = text)
                    }
                }
            }


        }
    }
Run Code Online (Sandbox Code Playgroud)

如果您已经阅读了代码,您可能会明白它应该做什么。即它基本上是一个带有一个文本和下面一个按钮的对话框。当用户单击按钮时,按钮上方的文本将切换其可见性。 …

android android-jetpack-compose

18
推荐指数
1
解决办法
5471
查看次数

无法在 Play 商店中禁用 Android 订阅的重新订阅

长话短说

为什么我们的用户可以在 Play 商店上重新订阅,尽管在 Google Play 控制台上选择退出?


我们正在 Android 应用程序上实现订阅。我们已将“重新订阅”选项选择为“未启用”。

然而,当我们通过取消订阅并等到上一个订阅过期后进行测试时,用户可以选择在一段时间内直接从 Play 商店而不是应用程序重新订阅(“应用程序外”)购买”),然后他们以前的订阅完全消失。

当发生这种情况时,我们的 BE 会收到通知,但没有任何有关用户身份的信息,因为这是一次全新的购买,因此我们的 BE 不知道哪个用户有权重新订阅计划。

我要指出的是,我们不想依靠我们的移动应用程序来拦截此购买并更新我们的后端 - 因为订阅也会影响我们网站上的权利,并且我们不确定我们的应用程序下次何时启动。

这个“重新订阅”选项已在我们的 Google Play 开发控制台上被禁用,并且它似乎在约 1-3 小时后消失(在测试环境中),但在这段时间内,我们无法阻止用户“重新订阅”在 Play 商店中订阅”

android android-billing android-developer-api google-developers-console

16
推荐指数
1
解决办法
1092
查看次数

如何在 Jetpack Compose for Desktop 中使用 .svg 文件?

我正在尝试使用.svg(矢量文件)来显示图像,但我被卡住了,无法做到这一点。有什么办法可以使用它,我尝试像这样使用它

Image(imageFromResource("svg_file_name.svg"),contentDescription="")
Run Code Online (Sandbox Code Playgroud)

但它会抛出一个错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Failed to Image::makeFromEncoded
    at org.jetbrains.skija.Image.makeFromEncoded(Image.java:130)
    at androidx.compose.ui.graphics.DesktopImageAsset_desktopKt.imageFromResource(DesktopImageAsset.desktop.kt:77)
    at ComposableSingletons$MainKt$lambda-1$1.invoke(main.kt:103)
    at ComposableSingletons$MainKt$lambda-1$1.invoke(main.kt:98)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:267)
    at androidx.compose.material.SurfaceKt$Surface$6.invoke(Surface.kt:254)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
    at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:251)
    at androidx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:110)
    at androidx.compose.material.CardKt.Card-F-jzlyU(Card.kt:66)
    at MainKt.ShowCanvasIsEmpty(main.kt:93)
    at MainKt.DisplayMainUI(main.kt:78)
    at MainKt$main$1$1.invoke(main.kt:60)
    at MainKt$main$1$1.invoke(main.kt:55)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
    at androidx.compose.material.TextKt.ProvideTextStyle(Text.kt:252)
    at androidx.compose.material.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:81)
    at androidx.compose.material.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:80)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
    at androidx.compose.material.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:72)
    at MainKt$main$1.invoke(main.kt:55)
    at MainKt$main$1.invoke(main.kt:53)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
    at androidx.compose.desktop.AppWindow_desktopKt$Window$1$1.invoke(AppWindow.desktop.kt:97)
    at …
Run Code Online (Sandbox Code Playgroud)

kotlin android-jetpack-compose compose-desktop

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

如何在jetpack compose中突出显示文本中的特定单词?

我想知道如何在 jetpack compose 中突出显示文本的特定部分。我试过Html.fromHtml()这样

Text(text = Html.fromHtml(" <font color='red'> Hello </font> World").toString())
Run Code Online (Sandbox Code Playgroud)

但这没有用。有什么办法可以在撰写中做到这一点吗?

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

10
推荐指数
1
解决办法
6192
查看次数

我应该对所有事情都使用 ConstraintLayout 吗?

只是一个简单的问题,我们应该对所有事情都使用约束布局吗?为什么今天仍在使用另一种布局?

我想做一个这样的简单登录布局,我应该使用线性布局还是约束布局?

在此处输入图片说明

通常,我使用约束布局制作每个布局,但我的朋友告诉我使用线性布局进行登录,如果我使用约束布局是错误的吗?之前谢谢!

android android-layout android-studio android-constraintlayout

8
推荐指数
1
解决办法
2132
查看次数

Dagger 2 和 Retrofit 2 更改基本 URL

就我而言,我需要动态更改 URL,但我不想创建改造客户端的 2 个实例。我正在尝试通过拦截器修改来更改基本 URL,但改造仍然使用旧值。我究竟做错了什么?

应用程序.java

public class App extends Application {
    private static AppComponent appComponent;

    @Override
    public void onCreate() {
        super.onCreate();
        appComponent =
                DaggerAppComponent
                        .builder()
                        .appModule(new AppModule(this))
                        .build();

    }

    @NonNull
    public static App get(@NonNull Context context) {
        return (App) context.getApplicationContext();
    }

    public static AppComponent getAppComponent() {
        return appComponent;
    }
}
Run Code Online (Sandbox Code Playgroud)

应用模块.java

@Module
public class AppModule {
    private Context context;

    public AppModule(Context context) {
        this.context = context;
    }

    @Provides
    @Singleton
    Context provideContext() {
        return context;
    }
    
}
Run Code Online (Sandbox Code Playgroud)

网络模块.java

@Module
public …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection dagger-2 retrofit2

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

如何在 Jetpack Compose 中获取应用于修改器的当前填充?

我将修饰符实例传递给这样的函数

@Composable
fun SomeComposable(modifier : Modifier) {
    
}
Run Code Online (Sandbox Code Playgroud)

我想知道应用于函数内传递的修饰符的当前填充。这个怎么做?

@Composable
   fun SomeComposable(modifier : Modifier) {
       // val currentTopPadding = modifier.getTopPadding()
  }
Run Code Online (Sandbox Code Playgroud)

我知道没有类似的功能getTopPadding(),但我想要一个类似的或任何其他功能(如果有的话)可以给我填充

android kotlin android-jetpack android-jetpack-compose

7
推荐指数
1
解决办法
2326
查看次数

构建android Rom时空间不足

制作 system.img 时出现以下错误

有像 boot.img、vendor.img 这样的所有文件,但没有系统 img

分配组表:完成
写入 inode 表:完成
写入超级块和文件系统记帐信息:完成

set_selinux_xattr:没有这样的文件或目录搜索标签“/bt_firmware” e2fsdroid:在配置文件系统时没有这样的文件或目录加载了 3450 个 fs_config 条目

空间不足?没有inode?/home/prashi_kadasi/arrow10/out/soong/.temp/tmpP2XFd3 的树大小为 1272721408 字节(1213 MB),保留空间为 0 字节(0 MB)。文件系统文件的最大映像大小为 4294967296 字节(4096 MB),总分区大小为 4294967296 字节(4096 MB)。01:24:45 忍者失败:退出状态 1

未能建立一些目标 (01:02 (mm:ss))

android rom

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

如何在android studio中注释掉gradle.properties文件中的多行?

在android studio中注释掉.kt文件或.java文件中的多行我们使用快捷方式

ctrl+ shift + /

但相同的组合键不适用于注释gradle.properties文件中的多行

还有其他捷径吗?

这是我的gradle.properties文件

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. …
Run Code Online (Sandbox Code Playgroud)

keyboard-shortcuts android-studio

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

房间数据库独特的价值

我正在尝试将房间数据库集成到我的 android 应用程序中。现在我想从数据库查询不同的结果,但我收到此错误:

error: The columns returned by the query does not have the fields [id] in com.abc.def.model.User even though they are annotated as non-null or primitive. 
    Columns returned by the query: [user_name]
Run Code Online (Sandbox Code Playgroud)

我的实体(Getter 和 Setter 不在此处复制):

@Entity
public class User {
     @PrimaryKey(autoGenerate = true)
        @NonNull
        @ColumnInfo(name = "id")
        private Integer id;
    
        @ColumnInfo(name = "user_name")
        @NonNull
        private String name;
    
        @ColumnInfo(name = "email")
        private String email;
    
        public User(String name, String email) {
            this.name = name;
            this.email = email;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的道: …

android android-database android-room

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

无法使用“adb reverse”连接到开发服务器

我正在运行一个react-native应用程序,并且android模拟器运行正常,但是当我使用命令“react-native run-android”启动这个错误时:

warn 无法使用“adb 反向”连接到开发服务器:spawnSync C:\Users\HP-Envy\AppData\Local\Android\Sdk;/platform-tools/adb ENOENT

android react-native

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