如何在 Beagle 中创建适用于 Angular、Android 和 iOS 的图像?
How do I create an image in Beagle that works for Angular, Android and iOS?
我想知道如何在 Beagle 中创建与所有这三个平台兼容的图像:Angular、Android 和 iOS。
它在我的 Angular 应用程序中工作得很好,但我无法让它在任何移动平台上工作。
这是我的后端代码:
Image(Local.justWeb('/public/logo.png'))
我看到有一个Local.both
,但我不知道具体怎么用。
图像可以有两种类型:本地或远程。远程图像仅使用 URL 并且在任何平台上都以相同的方式工作。
虽然这是本地图像的情况。本地图像资源的工作方式因平台而异。对于 Web 应用程序,您将始终需要 URL。对于移动应用程序,您需要一个标识符来定位资源。
在后端,如果您的应用程序只有 Web 客户端,您可以写 Local.justWeb
,如果您的应用程序只有移动客户端,则可以写 Local.justMobile
。如果您需要它适用于所有平台,您可以使用 Local.both
.
Local.justWeb
接受一个参数:URL 相对于网站根目录。
Local.justMobile
接受一个参数:移动平台资源的标识符。
Local.both
接受两个参数:第一个:Web 应用程序的 URL;第二个:移动平台的标识符。
在 Android 中,首先您需要将图像作为资源导入(资源选项卡 > 导入)。可以在您的设计系统中定义资源标识符 class。如果您还没有设计系统 class,您可以创建它。请参阅以下示例:
package com.myapp.beagle
import com.myapp.R
import br.com.zup.beagle.android.annotation.BeagleComponent
import br.com.zup.beagle.android.setup.DesignSystem
@BeagleComponent
class DesignSystem : DesignSystem() {
override fun image(id: String): Int? {
return when (id) {
"informationImage" -> android.R.drawable.ic_menu_help
"delete" -> android.R.drawable.ic_delete
"TestImage" -> android.R.drawable.editbox_dropdown_dark_frame
"logo" -> R.drawable.logo // <-- your identifier goes here
else -> android.R.drawable.ic_menu_help
}
}
}
在 iOS 中,您只需创建名称与您要使用的 mobileId 相同的资源。要创建新资源,请在 xCode 中单击资产文件夹 > + 按钮 > 创建图像。
我想知道如何在 Beagle 中创建与所有这三个平台兼容的图像:Angular、Android 和 iOS。
它在我的 Angular 应用程序中工作得很好,但我无法让它在任何移动平台上工作。
这是我的后端代码:
Image(Local.justWeb('/public/logo.png'))
我看到有一个Local.both
,但我不知道具体怎么用。
图像可以有两种类型:本地或远程。远程图像仅使用 URL 并且在任何平台上都以相同的方式工作。
虽然这是本地图像的情况。本地图像资源的工作方式因平台而异。对于 Web 应用程序,您将始终需要 URL。对于移动应用程序,您需要一个标识符来定位资源。
在后端,如果您的应用程序只有 Web 客户端,您可以写 Local.justWeb
,如果您的应用程序只有移动客户端,则可以写 Local.justMobile
。如果您需要它适用于所有平台,您可以使用 Local.both
.
Local.justWeb
接受一个参数:URL 相对于网站根目录。Local.justMobile
接受一个参数:移动平台资源的标识符。Local.both
接受两个参数:第一个:Web 应用程序的 URL;第二个:移动平台的标识符。
在 Android 中,首先您需要将图像作为资源导入(资源选项卡 > 导入)。可以在您的设计系统中定义资源标识符 class。如果您还没有设计系统 class,您可以创建它。请参阅以下示例:
package com.myapp.beagle
import com.myapp.R
import br.com.zup.beagle.android.annotation.BeagleComponent
import br.com.zup.beagle.android.setup.DesignSystem
@BeagleComponent
class DesignSystem : DesignSystem() {
override fun image(id: String): Int? {
return when (id) {
"informationImage" -> android.R.drawable.ic_menu_help
"delete" -> android.R.drawable.ic_delete
"TestImage" -> android.R.drawable.editbox_dropdown_dark_frame
"logo" -> R.drawable.logo // <-- your identifier goes here
else -> android.R.drawable.ic_menu_help
}
}
}
在 iOS 中,您只需创建名称与您要使用的 mobileId 相同的资源。要创建新资源,请在 xCode 中单击资产文件夹 > + 按钮 > 创建图像。