如何在 Flutter 中添加 XML Google Pay 按钮

Posted

技术标签:

【中文标题】如何在 Flutter 中添加 XML Google Pay 按钮【英文标题】:How to add XML Google Pay Button in Flutter 【发布时间】:2020-04-07 11:51:41 【问题描述】:

我的 Flutter 应用使用 Google Pay 作为付款方式。在these guidelines 之后,它们提供了 XML 按钮(我从未处理过)。

如何使用 dart 将这些按钮之一添加到颤振小部件?

【问题讨论】:

到目前为止你有什么尝试? 我真的不知道如何开始。你能像这样在 Java 或 Kotlin 中使用 XML 吗? 【参考方案1】:

laying out content for android versus Flutter 有不同的实现。

layout/googlepay_button.xml 布局有效地描述了按钮的显示方式,drawable/googlepay_button_content.xml 包含用于 Google Pay 按钮的VectorDrawable 文件。 flutter_svg 应该可以帮助您渲染图像的内容。

要使其与 Flutter 一起使用,您需要将 xml 布局复制为 Flutter 小部件树。

示例布局black/res/layout/googlepay_button.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:clickable="true"
    android:focusable="true"
    android:layout_
    android:layout_
    android:background="@drawable/googlepay_button_no_shadow_background"
    android:paddingTop="2sp"
    android:contentDescription="@string/googlepay_button_content_description">
    <LinearLayout
        android:duplicateParentState="true"
        android:layout_
        android:layout_
        android:weightSum="2"
        android:gravity="center_vertical"
        android:orientation="vertical">
        <ImageView
            android:layout_weight="1"
            android:layout_
            android:layout_
            android:scaleType="fitCenter"
            android:duplicateParentState="true"
            android:src="@drawable/googlepay_button_content"/>
    </LinearLayout>
    <ImageView
        android:layout_
        android:layout_
        android:scaleType="fitXY"
        android:duplicateParentState="true"
        android:src="@drawable/googlepay_button_overlay"/>
</RelativeLayout>

【讨论】:

好的,我看到了包裹。你的意思是把这个xml转换成svg?仍然不清楚该怎么做... 在 Flutter Widget 上绘制 SVG(和一些 Android VectorDrawable (XML))文件。 - 您可以按原样使用它。否则,您可能需要先将 drawable/googlepay_button_content.xml 转换为 SVG。 我尝试过但失败了。现在使用谷歌支付标记而不是按钮来加快进程。其他人,如果你成功了,请告诉我。【参考方案2】:

它看起来像 SVG。尝试像 SVG 一样打开所有这些 XML 文件,并将其添加到项目中的 assets 文件夹中。

【讨论】:

以上是关于如何在 Flutter 中添加 XML Google Pay 按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 Flutter 应用中添加渐变背景?

flutter 权限申请

如何在 Flutter 应用中添加桌面版网站?

如何在 Flutter 布局中添加或删除组件?

如何在 Flutter Web 中添加插件?

#yyds干货盘点#Flutter中如何添加垂直分隔线flutter专题35