自适应卡中的Microsoft Bot Framework图像大小

时间:2019-05-24 14:33:33

标签: botframework adaptive-cards

我正在尝试在机器人框架自适应卡中设置图像的高度。不一定要精确,但是应该很接近。

对于以下标记


{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"speak": "",
"type": "Container",


          "items": [
                {
                  "type": "TextBlock",
                  "text": "Acai Bowls, Juice Bars & Smoothies, Vegan"
                },
                {
                  "type": "TextBlock",
                  "text": "11:11 Health Bar",
                  "weight": "bolder",
                  "size": "Medium",
                  "spacing": "none"
                },
                {
                  "type": "Image",
                  "url": "https://sarestlocatoreastprem.blob.core.windows.net/images/small_4_half.png?st=2019-05-22T12%3A21%3A32Z&se=2029-05-23T12%3A21%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=XHqT5Fzdrc9idAYDM9slnMvC7W84d760qM6DC%2BHRZkE%3D",
                  "size": "auto",
                  "width": "82px",
                  "height": "14px"
                },
                {
                  "type": "TextBlock",
                  "text": "(29 reviews)",
                  "isSubtle": true,
                  "spacing": "none"
                },
                {
                  "type": "TextBlock",
                  "text": "",
                  "size": "small",
                  "wrap": true
                },
                {
                  "type": "TextBlock",
                  "text": "87 Union St\r\nNewton, MA 02459",
                  "size": "small",
                  "wrap": true
                },
                {
                  "type": "Image",
                  "url": "https://s3-media3.fl.yelpcdn.com/bphoto/-UK0ZIiw99QtnIqljweeXw/o.jpg",
                  "size": "auto",
                  "height": "200px"
                }
              ]
          }
      ],
      "actions": [
        {
          "type": "Action.OpenUrl",
          "title": "Directions",
          "url": "https://www.google.com/maps/@42.3297699,-71.1926317,18z?hl=en"
        },
        {
          "type": "Action.OpenUrl",
          "title": "More Info",
          "url": "https://www.yelp.com/biz/11-11-health-bar-newton"
        }
      ]
    }

自适应卡片可视化器

https://adaptivecards.io/visualizer/index.html?hostApp=Bot%20Framework%20WebChat

显示200px高的图像。

当我运行该应用程序时,浏览器中显示的自适应卡将显示86px高的图像。

我知道自适应卡并不意味着像素完美,但我应该能够通过指定的属性控制图像高度。

我在这里做什么错了?

这里是与网络聊天客户端一起运行的机器人的链接

http://adamsrestaurantbot.azurewebsites.net/

谢谢

亚当

P.S。版本

自适应卡1.1.2 Microsoft.Bot.Builder 4.2.2

1 个答案:

答案 0 :(得分:2)

AdaptiveCard Image Schema显示高度不是一个选项。

在设计器中,这是在Preview中,这意味着它尚未得到正式支持:

enter image description here

这是因为真正由客户端显示卡来调整图像的大小。

如果您自己调整图像的大小并指定"size": "auto",它将保留图像的真实尺寸,但仍会更改每个客户端渲染器的整体大小。

很遗憾,您没有做错任何事情。

您还可以尝试以下两种方法:

  1. 英雄或缩略图卡,而不是自适应卡。这可能会遇到类似的问题,但是客户可能会提出不同的建议。我记得几个月前遇到了这种情况,而且英雄卡的工作情况还算不错。
  2. 如果客户端仅使用WebChat,则可以使用自定义样式。自适应卡都使用ac-image类,因此您可以:
img.ac-image {
    height: 100px;
    width: 10px;
}

我在您的页面上完成了此操作,并得到了

enter image description here

您必须使用CSS才能获得所需的样式。