程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从本机平台创建一个视图并检索它颤振通道大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从本机平台创建一个视图并检索它颤振通道?

开发过程中遇到从本机平台创建一个视图并检索它颤振通道的问题如何解决?下面主要结合日常开发的经验,给出你关于从本机平台创建一个视图并检索它颤振通道的解决方法建议,希望对你解决从本机平台创建一个视图并检索它颤振通道有所启发或帮助;

我是 Flutter 的新手,但我读到 Flutter 没有简单的方法可以像 AndroID 允许的那样为矢量绘制动画。

我拥有一个矢量进度条,我想为其设置动画以取得进展。然后我尝试使用平台通道获取 AndroID / iOS 本机代码来为我的矢量设置动画。

目前我只测试了 AndroID,这是我的代码,由于视图无法正常工作:

颤动:

static const progressChannel = const MethodChannel("progress");
  Widget progressbar;

  Future<voID> _getProgressbar() async {
    Widget progressbarVIEw;
    try {
      var result = await progressChannel.invokeMapMethod('start');
      print("Result : ---- " + result.toString());
      progressbarVIEw = result as Widget;
    }
    catch (e) {
      print("error channel : " + e.toString());
    }

    setState(() {
      progressbar = progressbarVIEw;
    });
  }

安卓:

class MainActivity: FlutterActivity() {

    private val CHANNEL = "progress"

    overrIDe fun configureFlutterEngine(@NonNull FlutterEngine: FlutterEngine) {
        super.configureFlutterEngine(FlutterEngine)
        MethodChannel(FlutterEngine.dartExecutor.binaryMessenger,CHANNEL).setMethodCallHandler { call,result ->
            if (call.method == "start") {
                val vIEw = ImageVIEw(this)
                result.success(startProgressbar(vIEw))
            }
        }
    }

    private var vector: AnimatedVectorDrawableCompat? = null

    fun startProgressbar(vIEw: ImageVIEw): ImageVIEw {
        val mainHandler = Handler(Looper.getMainLooper())
        vector = AnimatedVectorDrawableCompat.create(vIEw.context,R.drawable.avd_progress_bar)
        vIEw.setimageDrawable(vector)
        if (vector != null) {
            vector!!.registeranimationCallback(object : androIDx.vectordrawable.graphics.drawable.Animatable2Compat.AnimationCallback() {
                overrIDe fun onAnimationEnd(drawable: Drawable) {
                    super.onAnimationEnd(drawable)
                    mainHandler.post { vector!!.start() }
                }
            })
            vector!!.start()
        }
        return vIEw
    }
}

显然我无法从 AndroID 代码创建 ImageVIEw 并检索它。 错误:

E/MethodChannel#progress(32414): Failed to handle method call
E/MethodChannel#progress(32414): java.lang.IllegalArgumentException: Unsupported value: androID.Widget.ImageVIEw{40dfc22 V.ED..... ......ID 0,0-0,0}

有没有办法创建原生 VIEw 并从 Flutter 中检索它?或者另一种方式来实现这一目标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的从本机平台创建一个视图并检索它颤振通道全部内容,希望文章能够帮你解决从本机平台创建一个视图并检索它颤振通道所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: