小编Md *_*din的帖子

在 Compose 中,一旦 Coil 从 URL 加载图像,如何访问 drawable

我正在使用accompanist-coil:0.12.0. 我想从一个 url 加载图像,然后将 drawable 传递给一个方法。我正在使用这个:

val painter = rememberCoilPainter(
        request = ImageRequest.Builder(LocalContext.current)
            .data(imageUrl)
            .target {
                viewModel.calcDominantColor(it) { color ->
                    dominantColor = color
                }
            }
            .build(),
        fadeIn = true
    )
Run Code Online (Sandbox Code Playgroud)

然后通过画家Image这样:

Image(
   painter = painter,
   contentDescription = "Some Image",
)
Run Code Online (Sandbox Code Playgroud)

图像加载没有任何问题,但calcDominantColor从未调用该方法。
我做错了吗?

更新:
我能够在 requestBuilder 中使用 Transformation 调用该方法,但我不确定,是否应该这样做,因为我实际上并没有转换Bitmap本身:

val painter = rememberCoilPainter(
        request = entry.imageUrl,
        requestBuilder = {
            transformations(
                object: Transformation{
                    override fun key(): String {
                        return entry.imageUrl
                    }
                    override suspend …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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

Flutter 中 After Effects 文件的使用

我知道如何导出Rive (Flare) 文件以在 Flutter 应用程序中使用,但如何Adobe After Effects文件导入Rive?

我知道可以使用Lottie,但我无法弄清楚如何准确地做到这一点。

flare flutter lottie flutter-animation

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

Flutter 的深色模式颜色

在网站material.io中写道:

创建品牌深色表面,覆盖主品牌颜色在低不透明度超过建议黑暗的主题表面颜色(#121212)。颜色 #1F1B24 是将深色主题表面颜色 #121212 和8% 原色结合的结果。

品牌颜色

我的问题是:

  1. 如何计算 8% 的颜色?
  2. 如何在Flutter 中实现这个叠加的东西?

uicolor material-design flutter android-dark-theme

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

如何强制用户使用 in_app_update 从 Flutter 中的 Play 商店更新应用程序

我希望我的应用程序的用户始终拥有最新版本。如果他们没有最新版本,则应首先从 Play 商店下载最新版本,如图所示。

强制更新

我找到了一个名为Upgrader的包,但这只是一个提示。如图所示,它没有链接到游戏商店。

编辑

正如Maadhav Sharma所建议的,现在我正在使用in_app_update包,但它说没有可用更新

这是我的代码:

....

class _TnPState extends State<TnP> {
  ThemeBloc _themeBloc;
  FirebaseMessaging _firebaseMessaging;
  NotificationBloc _notificationBloc;
  String _test;

  @override
  void initState() {
    _themeBloc = ThemeBloc();
    _firebaseMessaging = FirebaseMessaging();
    _notificationBloc = NotificationBloc();
    _firebaseMessaging.configure(
      onMessage: (notification) async => _notificationBloc.yes(),
      onResume: (notification) async => _notificationBloc.yes(),
      onLaunch: (notification) async => _notificationBloc.yes(),
    );
    checkForUpdate();
    super.initState();
  }

  Future<void> checkForUpdate() async {
    InAppUpdate.checkForUpdate().then((info) {
      String display = info.toString();
      setState((){
        _test = display;
      });
    });
  } …
Run Code Online (Sandbox Code Playgroud)

android google-play flutter in-app-update

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

使用 lambda 的 Kotlin setOnClickListener 语法

在 Kotlin 中设置点击监听器时,我们可以这样写:

rollButton.setOnClickListener(
    object: View.OnClickListener {
        override fun onClick(v: View?) {
            rollDice();
        }
    }
)
Run Code Online (Sandbox Code Playgroud)

SAM转换后,我们可以写:

rollButton.setOnClickListener({ v -> rollDice() })
Run Code Online (Sandbox Code Playgroud)

但我注意到 kotlin 也接受:

rollButton.setOnClickListener(View.OnClickListener() { v -> rollDice() })
Run Code Online (Sandbox Code Playgroud)

rollButton.setOnClickListener(View.OnClickListener { v -> rollDice() })
Run Code Online (Sandbox Code Playgroud)

我想知道这里发生了什么?我的意思是应该使用匿名类或 SAM 速记法setOnClickListener来实现。OnClickListener这是某种中间阶段还是什么?

任何解释或资源链接都将受到高度赞赏。

lambda android kotlin

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

使用 StreamBuilder 时 Firestore 的定价

StreamBuilder在 Flutter 中使用Firestore 读取文档中的更改时,我如何收费?

每次我收听是否有任何变化或不乘以用户数量或使用任何不同的定价时,我都会收费吗?

flutter google-cloud-firestore stream-builder

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