Search code examples
botframeworkadaptive-cards

Microsoft Adaptive Card - Column Size


Does anyone know what is a proper value to set for column size for adaptive card ? Schema (http://adaptivecards.io/explorer/#Column) says

"auto", "stretch", or a number representing relative width of the column in the column Set (Default:Auto)

but actually I've tried number, percentage, px, pt but none is working.

Thanks


Solution

  • If you have a look to this sample: http://adaptivecards.io/visualizer/?card=/samples/cards/Input%20Form.json

    You will see that the format is a basic number:

    {
      "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
      "type": "AdaptiveCard",
      "version": "0.5",
      "body": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "size": 2,
              "items": [
                {
                  "type": "TextBlock",
                  "text": "Tell us about yourself...",
                  "weight": "bolder",
                  "size": "large"
                },
                {
                  "type": "TextBlock",
                  "text": "We just need a few more details to get you booked for the trip of a lifetime!",
                  "isSubtle": true,
                  "wrap": true
                },
                {
                  "type": "TextBlock",
                  "text": "Don't worry, we'll never share or sell your information.",
                  "isSubtle": true,
                  "wrap": true,
                  "size": "small"
                },
                {
                  "type": "TextBlock",
                  "text": "Your name",
                  "wrap": true
                },
                {
                  "type": "Input.Text",
                  "id": "myName",
                  "placeholder": "Last, First"
                },
                {
                  "type": "TextBlock",
                  "text": "Your email",
                  "wrap": true
                },
                {
                  "type": "Input.Text",
                  "id": "myEmail",
                  "placeholder": "[email protected]",
                  "style": "email"
                },
                {
                  "type": "TextBlock",
                  "text": "Phone Number"
                },
                {
                  "type": "Input.Text",
                  "id": "myTel",
                  "placeholder": "xxx.xxx.xxxx",
                  "style": "tel"
                }
              ]
            },
            {
              "type": "Column",
              "size": 1,
              "items": [
                {
                  "type": "Image",
                  "url": "https://upload.wikimedia.org/wikipedia/commons/b/b2/Diver_Silhouette%2C_Great_Barrier_Reef.jpg",
                  "size": "auto"
                }
              ]
            }
          ]
        }
      ],
      "actions": [
        {
          "type": "Action.Submit",
          "title": "Submit"
        }
      ]
    }
    

    It's working a bit like bootstrap; here your first column will get 2/3 = 2/(2+1) of the total width, and the second one 1 third (1/(2+1)).

    You can manipulate the values in the provided tester