如何在 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 按钮的主要内容,如果未能解决你的问题,请参考以下文章