Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Diese Dokumentation gilt als veraltet. Umfassende Informationen und Ressourcen zur Textformatierung in adaptiven Karten finden Sie im Dokumentationshub zu adaptiven Karten.
Der Dokumentationshub für adaptive Karten bietet eine vollständige und neueste Referenzdokumentation, einen aktualisierten Adaptive Card Designer, integrierte JSON-Beispiele, bewährte Designmethoden und einen detaillierten Versionsverlauf der Features von adaptiven Karten. Weitere Informationen finden Sie unter Einführung des Dokumentationshubs zu adaptiven Karten und neuer Updates zu adaptiven Karten.
Im Folgenden werden die beiden Möglichkeiten zum Hinzufügen von Rich-Text-Formatierungen für Ihre Karten beschrieben:
Karten unterstützen die Formatierung nur in der Texteigenschaft, nicht in den Titel- oder Untertiteleigenschaften. Die Formatierung kann je nach Kartentyp mithilfe einer Teilmenge von XML- oder HTML-Formatierung oder mit Markdown angegeben werden. Für die aktuelle und zukünftige Entwicklung von adaptiven Karten wird die Markdownformatierung empfohlen.
Die Formatierungsunterstützung unterscheidet sich zwischen Kartentypen. Das Rendering der Karte kann sich zwischen dem Desktop- und dem mobilen Microsoft Teams-Client und Teams im Desktopbrowser leicht unterscheiden.
Sie können ein Inlinebild mit einer beliebigen Teams-Karte einschließen. Unterstützte Bildformate sind PNG-, JPG- oder GIF-Formate. Halten Sie die Abmessungen innerhalb von 1024 x 1024 Pixel und die Dateigröße kleiner als 1 MB. Animierte .gif Bilder werden nicht unterstützt. Weitere Informationen finden Sie unter Typen von Karten.
Sie können adaptive Karten und Connectorkarten für Microsoft 365-Gruppen mit Markdown formatieren, die bestimmte unterstützte Formatvorlagen enthalten.
Formatieren von Karten mit Markdown
Die folgenden Kartentypen unterstützen Markdownformatierung in Teams:
- Adaptive Karten: Markdown wird im Feld "Adaptive Karten"
Textblockunterstützt undFact.Titleund .Fact.ValueHTML wird in adaptiven Karten nicht unterstützt. - Konnektorkarten für Microsoft 365-Gruppen: Markdown und eingeschränktes HTML werden in Konnektorkarten für Microsoft 365-Gruppen in den Textfeldern unterstützt.
Hinweis
Markdown wird für OAuth-Anmeldekarten in Bots nicht unterstützt.
Sie können Zeilenumbrüche für adaptive Karten verwenden, indem Sie die Escape-Sequenzen \r oder \n für Zeilenumbrüche in Listen verwenden. Die Formatierung unterscheidet sich für adaptive Karten zwischen der Desktopversion und den mobilen Versionen von Teams. Kartenbasierte Erwähnungen werden in Web-, Desktop- und mobilen Clients unterstützt. Sie können die Eigenschaft für die Informationsmaskierung verwenden, um bestimmte Informationen zu maskieren, beispielsweise das Kennwort oder vertrauliche Informationen von Benutzern innerhalb des Input.Text-Eingabeelements der adaptiven Karte. Sie können die Breite einer adaptiven Karte mithilfe des width-Objekts erweitern. Sie können die Typeahead-Unterstützung innerhalb adaptiver Karten aktivieren und den Satz von Eingabeoptionen filtern, während der Benutzer Text eingibt. Sie können die msteams Eigenschaft verwenden, um die Möglichkeit zum selektiven Anzeigen von Bildern in der Stage-Ansicht hinzuzufügen.
Die Formatierung unterscheidet sich für adaptive Karten und Connector-Karten zwischen der Desktopversion und den mobilen Versionen von Teams. In diesem Abschnitt können Sie das Beispiel für das Markdownformat für adaptive Karten und Connector-Karten durchgehen.
Die folgende Tabelle enthält die unterstützten Formatvorlagen für Textblock, Fact.Title und Fact.Value:
| Format | Beispiel | Markdown |
|---|---|---|
| Fett | Bold | **Bold** |
| Kursiv | Italic | _Italic_ |
| Unsortierte Liste |
|
- Item 1\r- Item 2\r- Item 3 |
| Sortierte Liste |
|
1. Green\r2. Orange\r3. Blue |
| Hyperlinks | Bing | [Title](url) |
Die folgenden Markdown-Tags werden nicht unterstützt:
- Überschriften
- Tabellen
- Bilder
- Vorformatierter Text
- Blockzitate
Zeilenumbrüche für adaptive Karten
Sie können die Escape-Sequenzen \r oder \n für Zeilenumbrüche in Listen verwenden. Die Verwendung von \n\n in Listen bewirkt, dass das nächste Element in der Liste eingezogen wird. Wenn Sie Zeilenumbrüche an anderer Stelle im TextBlock benötigen, verwenden Sie \n\n.
Unterschiede für adaptive Karten zwischen Mobilgeräten und Desktops
Auf dem Desktop erscheint die Markdownformatierung für adaptive Karten wie in der folgenden Abbildung dargestellt, sowohl in Webbrowsern als auch in der Teams-Clientanwendung:
Unter iOS wird die adaptive Kartenmarkdown-Formatierung wie in der folgenden Abbildung dargestellt angezeigt:
Unter Android erscheint die Markdownformatierung für adaptive Karten wie in der folgenden Abbildung dargestellt:
Weitere Informationen zur Datums- und Uhrzeitformatierung und Lokalisierung in adaptiven Karten finden Sie unter Textfeatures in adaptiven Karten.
Formatbeispiel für adaptive Karten
Der folgende Code zeigt ein Beispiel der Formatierung für adaptive Karten:
{
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "TextBlock",
"text": "This is some **bold** text"
},
{
"type": "TextBlock",
"text": "This is some _italic_ text"
},
{
"type": "TextBlock",
"text": "- Bullet \r- List \r",
"wrap": true
},
{
"type": "TextBlock",
"text": "1. Numbered\r2. List\r",
"wrap": true
},
{
"type": "TextBlock",
"text": "Check out [Adaptive Cards](https://adaptivecards.microsoft.com/?topic=welcome)"
}
]
}
Adaptive Karten unterstützen Emojis. Die folgende Karten-Nutzlast zeigt eine adaptive Karte mit einem Emoji:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"text": "Publish Adaptive Card with emojis 🥰",
"weight": "bolder",
"size": "medium"
}
]
}
]
}
Hinweis
Wenn Sie REST-APIs verwenden, legen charset=UTF-8 Sie in Ihren Anforderungsheadern fest, dass Emojis in adaptiven Karten hinzugefügt werden.
Unterstützung von Erwähnungen innerhalb adaptiver Karten
Sie können innerhalb eines adaptiven Kartentexts für Bots und Nachrichtenerweiterungsantworten hinzufügen @mentions . Zum Hinzufügen @mentions von Karten folgen Sie der gleichen Benachrichtigungslogik und dem gleichen Rendering wie bei nachrichtenbasierten Erwähnungen in Kanal- und Gruppenchatunterhaltungen.
Bots und Nachrichtenerweiterungen können Erwähnungen innerhalb des Karteninhalts in den Elementen TextBlock und FactSet enthalten.
Hinweis
- Kanal- und Teamerwähnungen werden in Bot-Nachrichten nicht unterstützt.
- Sie können @mention mehrere Benutzer in einer einzigen adaptiven Kartennachricht verwenden. Stellen Sie jedoch sicher, dass das Größenlimit der Nachricht 28 KB für eingehende Webhooks und 100 KB für eine Bot-Nachricht nicht überschreitet.
- Adaptive Karten, die von eingehenden Webhooks gesendet werden, unterstützen nur Benutzererwähnungen und keine Bot-Erwähnungen.
Um eine Erwähnung in eine adaptive Karte aufzunehmen, muss Ihre App die folgenden Elemente enthalten:
-
<at>username</at>in den unterstützten Elementen der adaptiven Karte. - Das
mention-Objekt innerhalb einermsteams-Eigenschaft im Karteninhalt enthält die Teams-Benutzer-ID des erwähnten Benutzers. - Die
userIdist für Ihre Bot-ID und einen bestimmten Benutzer eindeutig. Sie kann für @mention einen bestimmten Benutzer verwendet werden. DieuserIdkann mithilfe einer der in Benutzer-ID abrufen erwähnten Optionen abgerufen werden.
Beispiel einer adaptiven Karte mit einer Erwähnung
Der folgende Code zeigt ein Beispiel einer adaptiven Karte mit einer Erwähnung:
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "Hi <at>John Doe</at>"
}
],
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0",
"msteams": {
"entities": [
{
"type": "mention",
"text": "<at>John Doe</at>",
"mentioned": {
"id": "29:123124124124",
"name": "John Doe"
}
}
]
}
}
}
Microsoft Entra-Objekt-ID und UPN in Benutzer-Erwähnung
Die Teams-Plattform ermöglicht es Ihnen, Benutzer mit ihrer Microsoft Entra-Objekt-ID und ihrem Benutzerprinzipalnamen (User Principle Name, UPN) zusätzlich zu den vorhandenen Erwähnungs-IDs zu Erwähnungen. Bots mit adaptiven Karten und Connectors mit eingehenden Webhooks unterstützen die zwei Benutzererwähnungs-IDs.
In der folgenden Tabelle werden die neu unterstützten Benutzererwähnungs-IDs beschrieben:
| IDs | Unterstützende Funktionen | Beschreibung | Beispiel |
|---|---|---|---|
| Microsoft Entra-Objekt-ID | Bot, Connector | Objekt-ID des Microsoft Entra-Benutzers | 49c4641c-ab91-4248-aebb-6a7de286397b |
| UPN | Bot, Connector | UPN eines Microsoft Entra-Benutzers | john.smith@microsoft.com |
Benutzererwähnung in Bots mit adaptiven Karten
Bots unterstützen die Erwähnung von Benutzern mit der Microsoft Entra-Objekt-ID und dem UPN zusätzlich zu den vorhandenen IDs. Die Unterstützung für zwei neue IDs ist in Bots für Textnachrichten, adaptiven Kartentext und die Nachrichtenerweiterungsantwort verfügbar. Bots unterstützen die Erwähnungs-IDs in Unterhaltungen und invoke-Szenarien. Der Benutzer erhält eine Aktivitätsfeed-Benachrichtigung, wenn er sich bei den IDs befindet @mentioned .
Hinweis
Schemaaktualisierungen und UI/UX-Änderungen sind für Benutzererwähnungen mit adaptiven Karten im Bot nicht erforderlich.
Beispiel
Beispiel für die Benutzererwähnung in Bots mit adaptiven Karten wie folgt:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0",
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"text": "Hi <at>Adele UPN</at>, <at>Adele Microsoft Entra ID</at>"
}
],
"msteams": {
"entities": [
{
"type": "mention",
"text": "<at>Adele UPN</at>",
"mentioned": {
"id": "AdeleV@contoso.onmicrosoft.com",
"name": "Adele Vance"
}
},
{
"type": "mention",
"text": "<at>Adele Microsoft Entra ID</at>",
"mentioned": {
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
"name": "Adele Vance"
}
}
]
}
}
Die folgende Abbildung veranschaulicht die Benutzererwähnung mit adaptiver Karte im Bot:
Benutzererwähnung im eingehenden Webhook mit adaptiven Karten
Eingehende Webhooks unterstützen ab sofort die Erwähnung von Benutzern in adaptiven Karten mit der Microsoft Entra-Objekt-ID und dem UPN.
Hinweis
- Aktivieren Sie die Erwähnung von Benutzern im Schema für eingehende Webhooks, um die Objekt-ID und den UPN von Microsoft Entra zu unterstützen.
- UI/UX-Änderungen sind für Benutzererwähnungen mit Microsoft Entra-Objekt-ID und UPN nicht erforderlich.
Beispiel
Beispiel für die Benutzererwähnung im eingehenden Webhook wie folgt:
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Sample Adaptive Card with User Mention"
},
{
"type": "TextBlock",
"text": "Hi <at>Adele UPN</at>, <at>Adele Microsoft Entra ID</at>"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0",
"msteams": {
"entities": [
{
"type": "mention",
"text": "<at>Adele UPN</at>",
"mentioned": {
"id": "AdeleV@contoso.onmicrosoft.com",
"name": "Adele Vance"
}
},
{
"type": "mention",
"text": "<at>Adele Microsoft Entra ID</at>",
"mentioned": {
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
"name": "Adele Vance"
}
}
]
}
}
}]
}
Die folgende Abbildung veranschaulicht die Benutzererwähnung im eingehenden Webhook:
Symbol "People" in einer adaptiven Karte
Das Symbol "People" hilft Benutzern, die Bilder von Benutzern auf einer adaptiven Karte anzuzeigen. Sie können ein Bild einfügen und alle unterstützten Eigenschaften auf Bilder anwenden.
Es gibt zwei Arten von Personensymbolen, die in einer adaptiven Karte unterstützt werden:
Persona: Wenn Sie einen einzelnen Benutzer in einer adaptiven Karte anzeigen möchten, werden das Personensymbol und der Name des Benutzers angezeigt.
Der folgende JSON-Code ist ein Beispiel für eine Persona-Karte:
{ "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0.0", "body": [ { "type": "TextBlock", "text": "Persona", "weight": "bolder" }, { "type": "Component", "name": "graph.microsoft.com/user", "view": "compact", "properties": { "id": "65f50003-e15d-434a-9e14-0fcfeb3d7817", "displayName": "Daniela Mandera", "userPrincipalName": "damandera@microsoft.com" } } ] }Personensatz: Wenn Sie mehrere Benutzer in einer adaptiven Karte anzeigen möchten, wird nur das Personensymbol der Benutzer angezeigt.
Der folgende JSON-Code ist ein Beispiel für ein Persona-Set:
{ "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0.0", "body": [ { "type": "TextBlock", "text": "Persona Set", "weight": "bolder" }, { "type": "Component", "name": "graph.microsoft.com/users", "view": "compact", "properties": { "users": [ { "id": "65f50003-e15d-434a-9e14-0fcfeb3d7817", "displayName": "Daniela Mandera", "userPrincipalName": "damandera@microsoft.com" }, { "id": "65f50003-e15d-434a-9e14-0fcfeb3d7817", "displayName": "Daniela Mandera", "userPrincipalName": "damandera@microsoft.com" } ] } } ] }Hinweis
Sie können den Stil der Persona und des Persona-Sets nicht in einer adaptiven Karte anpassen.
Das folgende Bild ist ein Beispiel für das Symbol "Personen" in einer adaptiven Karte:
Schema
In der folgenden Tabelle sind die Eigenschaften des Component Elements aufgeführt:
| Eigenschaftenname | Beschreibung |
|---|---|
type |
component |
name |
Werden verwendetgraph.microsoft.com/users, um alle Mitglieder in der organization zu durchsuchen |
view |
compact |
properties |
An die Komponentenvorlage übergeben |
id |
MRT des Benutzers |
displayName |
Name des Benutzers |
userPrincipalName |
Der Prinzipalname des Benutzers des Kontos in Microsoft Entra ID |
Adaptive Komponenten sind Komponenten auf hoher Ebene, die von Vorlagen und nativen adaptiven Kartenelementen unterstützt werden . Der Typ component kann an einer beliebigen Stelle innerhalb des Kartenkörpers verwendet werden, und die Komponentendaten werden im properties Attribut definiert. Die Komponentendaten darunter properties werden direkt an die Komponente übergeben. Die properties Eigenschaft definiert das Format für Persona und Persona Set, und alle anderen Eigenschaften werden properties im Schema der adaptiven Karte vom component Typ ignoriert.
Ihr Bot kann die Liste der Mitglieder und ihre grundlegenden Benutzerprofile abfragen, einschließlich Teams-Benutzer-IDs und Microsoft Entra-Informationen wie name, id, und userPrincipalName. Weitere Informationen finden Sie unter Abrufen der Liste oder des Benutzerprofils.
Die folgenden Bilder zeigen das Personensymbol in einer adaptiven Karte auf Microsoft Teams-Desktop- und mobilen Clients:
Desktopclient:
Wenn ein Benutzer auf ein Personensymbol zeigt, wird die Personen-Karte dieses Benutzers angezeigt.
Mobile Clients
Wenn ein Benutzer ein Personensymbol auswählt, wird die Personen-Karte dieses Benutzers angezeigt.
Maskieren von Information in adaptiven Karten
Verwenden Sie die Eigenschaft zur Informationsmaskierung, um bestimmte Informationen zu maskieren, z. B. das Kennwort oder vertrauliche Informationen von Benutzern innerhalb des Input.TextEingabeelements der adaptiven Karte.
Hinweis
Das Feature unterstützt nur die clientseitige Informationsmaskierung. Der maskierte Eingabetext wird als Klartext an die HTTPS-Endpunktadresse gesendet, die während der Bot-Konfiguration angegeben wurde.
Um Informationen in adaptiven Karten zu maskieren, fügen Sie die style Eigenschaft zum Typinput.text hinzu, und legen Sie ihren Wert auf Kennwort fest.
Beispiel für adaptive Karte mit Maskierungseigenschaft
Der folgende Code zeigt ein Beispiel für eine adaptive Karte mit Maskierungseigenschaft:
{
"type": "Input.Text",
"id": "secretThing",
"style": "password",
},
Die folgende Abbildung zeigt ein Beispiel für die Maskierung von Informationen in adaptiven Karten:
Adaptive Karte in ganzer Breite
Sie können die msteams Eigenschaft verwenden, um die Breite einer adaptiven Karte zu erweitern und zusätzlichen Platz im Zeichenbereich zu nutzen. Der nächste Abschnitt enthält Informationen zur Verwendung der Eigenschaft.
Hinweis
Testen Sie Ihre Adaptive Card in voller Breite in schmalen Formfaktoren, z. B. für Mobilgeräte und Besprechungsseiten, um sicherzustellen, dass Inhalte nicht abgeschnitten werden.
Erstellen von Karten in ganzer Breite
Um eine adaptive Karte in ganzer Breite zu erstellen, muss das width-Objekt der msteams-Eigenschaft im Karteninhalt auf Full festgelegt werden.
Beispiel einer adaptiven Karte in ganzer Breite
Um eine adaptive Karte in ganzer Breite zu erstellen, muss Ihre App die Elemente aus dem folgenden Codebeispiel enthalten:
{
"type": "AdaptiveCard",
"body": [{
"type": "Container",
"items": [{
"type": "TextBlock",
"text": "Digest card",
"size": "Large",
"weight": "Bolder"
}]
}],
"msteams": {
"width": "Full"
},
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
Die folgende Abbildung zeigt eine adaptive Karte in ganzer Breite:
Die folgende Abbildung zeigt die Standardansicht einer adaptiven Karte, wenn Sie die width Eigenschaft nicht auf "Vollständig" festgelegt haben:
Adaptives Kartenlayout
Adaptive Karten passen ihr Aussehen und Verhalten automatisch an den Stil der Hostanwendung an, verfügen jedoch über ein festes Layout, das für alle mobilen und Desktop-Clients von Teams identisch bleibt. Sie müssen Ihre adaptiven Karten so entwerfen, dass sie auf jedem Gerät gut aussehen, um eine verbesserte Benutzererfahrung über Chats, Kanäle und Besprechungschats hinweg bereitzustellen. In diesem Artikel erfahren Sie mehr über das Entwerfen von responsiven adaptiven Karten.
Adaptives Kartenlayout hilft Ihnen, Karten mit unterschiedlichen Layouts zu entwerfen, die auf unterschiedliche Kartenbreiten ausgerichtet sind.
Entwerfen von responsiven adaptiven Karten
Verwenden Sie die targetWidth Eigenschaft für jedes Element, um:
Ein- oder Ausblenden beliebiger Elemente basierend auf der Breite der Karte.
Legen Sie unterschiedliche Zielbreiten für verschiedene Elemente fest, um unterschiedliche Layouts zu erstellen.
In der folgenden Tabelle sind die verfügbaren
targetWidthWerte aufgeführt:Wert Beschreibung veryNarrowDas Element wird angezeigt, wenn die Breite der adaptiven Karte sehr schmal ist, z. B. in einem Besprechungschat. narrowDas Element wird angezeigt, wenn die Breite der adaptiven Karte schmal ist, z. B. bei einem Mobiltelefon im Hochformat. standardDas Element wird angezeigt, wenn die Breite der adaptiven Karte Standard ist, z. B. auf einem Mobiltelefon im Querformat, auf einem Tablet im Hochformat oder in einem Chat auf dem Desktop. wideDas Element wird angezeigt, wenn die Breite der adaptiven Karte breit ist, z. B. auf einem Tablet im Querformat, in einem Kanal oder in einem Chat auf dem Desktop, wenn Sie die volle Breite der Karte festlegen. Sie können die Eigenschaft auch festlegen, um
targetWidthein Element für einen Bereich von Kartenbreiten mit denatLeastPräfixen undatMostsichtbar zu machen. Sie können ein Element beispielsweise nur dann sichtbar machen, wenn die Kartenbreite "Standard oder höher" ist oder nur, wenn die Kartenbreite "schmal oder darunter" ist. Die folgende Tabelle enthält eine Anleitung, wie Sie ein Element für einen Bereich von Kartenbreiten sichtbar machen:Beispiel Beschreibung "targetWidth": "atLeast:standard"Das Element ist nur sichtbar, wenn die Breite der adaptiven Karte mindestens dem Standard entspricht, d. h. Standard oder breit ist. "targetWidth": "atMost:narrow"Das Element ist nur sichtbar, wenn die Breite der adaptiven Karte höchstens schmal ist, d. h. sehr schmal oder schmal bedeutet. Hinweis
Sie müssen nicht alle Elemente festlegen
targetWidth. Wenn Sie kein Element festlegentargetWidth, ist das Element unabhängig von der Breite der Karte immer sichtbar.
Im Folgenden finden Sie JSON-Beispiele für eine adaptive Karte, die ohne Verwendung targetWidth entworfen und zur VerwendungtargetWidth geändert wurde:
Adaptive Karte entworfen ohne Verwendung von
targetWidth:{ "type": "AdaptiveCard", "body": [ { "type": "ColumnSet", "columns": [ { "type": "Column", "items": [ { "type": "Image", "style": "Person", "url": "https://aka.ms/AAp9xo4", "size": "Small" } ], "width": "auto" }, { "type": "Column", "spacing": "medium", "verticalContentAlignment": "center", "items": [ { "type": "TextBlock", "weight": "Bolder", "text": "David Claux", "wrap": true } ], "width": "auto" }, { "type": "Column", "spacing": "medium", "items": [ { "type": "TextBlock", "text": "Platform Architect", "isSubtle": true, "wrap": true } ], "width": "stretch", "verticalContentAlignment": "center" } ] } ], "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5" }Die folgenden Bilder zeigen das Rendering der adaptiven Karte für unterschiedliche Kartenbreiten:
Wenn die Breite der Karte breit ist, sieht die Karte gut aus.
Wenn die Breite der Karte Standard oder schmal ist, wird die Rolle zusammengedrückt.
Wenn die Breite der Karte sehr schmal ist, werden Name und Rolle erheblich zusammengedrückt.
Adaptive Karte aktualisiert, um reaktionsfähig zu sein, mit
targetWidth:{ "type": "AdaptiveCard", "body": [ { "type": "ColumnSet", "columns": [ { "type": "Column", "targetWidth": "atLeast:narrow", "items": [ { "type": "Image", "style": "Person", "url": "https://aka.ms/AAp9xo4", "size": "Small" } ], "width": "auto" }, { "type": "Column", "spacing": "medium", "verticalContentAlignment": "center", "items": [ { "type": "TextBlock", "weight": "Bolder", "text": "David Claux", "wrap": true }, { "type": "TextBlock", "targetWidth": "atMost:narrow", "spacing": "None", "text": "Platform Architect", "isSubtle": true, "wrap": true } ], "width": "auto" }, { "type": "Column", "targetWidth": "atLeast:standard", "spacing": "medium", "items": [ { "type": "TextBlock", "text": "Platform Architect", "isSubtle": true, "wrap": true } ], "width": "stretch", "verticalContentAlignment": "center" } ] } ], "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5" }Sehen wir uns an, wie dieselbe adaptive Karte nach Verwendung der
targetWidthEigenschaft für verschiedene Kartenbreiten gerendert wird:Auch wenn die Breite der Karte breit ist, sieht die Karte immer noch gut aus.
Wenn die Breite der Karte Standard oder schmal ist, wird die Rolle unter den Namen verschoben, da es keinen horizontalen Platz gibt, um sie nebeneinander anzuzeigen.
Wenn die Breite der Karte sehr schmal ist, können wir das Bild ausblenden und nur die aussagekräftigsten Informationen behalten.
Weitere Informationen zum Entwerfen einer adaptiven Karte finden Sie unter Entwerfen adaptiver Karten für Ihre Teams-App.
Typeahead-Unterstützung
Wenn Benutzer innerhalb des Input.ChoiceSet-Schemaelements zum Filtern und Auswählen einer beträchtlichen Anzahl von Auswahlmöglichkeiten auffordert werden, kann die Aufgabenvervollständigung erheblich verlangsamt werden. Die Unterstützung von Typeahead innerhalb adaptiver Karten kann die Eingabeauswahl vereinfachen, indem der Satz von Eingabeoptionen eingegrenzt oder gefiltert wird, während der Benutzer Text eingibt.
Um Typeahead in Input.Choiceset zu aktivieren, legen Sie style auf filtered fest, und stellen Sie sicher, dass isMultiSelect auf false festgelegt ist.
Beispiel für eine adaptive Karte mit Typeahead-Unterstützung
Der folgende Code zeigt ein Beispiel für eine adaptive Karte mit Typeahead-Unterstützung:
{
"type": "Input.ChoiceSet",
"label": "Select a user",
"isMultiSelect": false,
"choices": [
{ "title": "User 1", "value": "User1" },
{ "title": "User 2", "value": "User2" }
],
"style": "filtered"
}
Stageview für Bilder in adaptiven Karten
In einer adaptiven Karte können Sie die msteams Eigenschaft verwenden, um die Möglichkeit zum selektiven Anzeigen von Bildern in Stageview hinzuzufügen. Wenn Benutzer mit dem Mauszeiger auf die Bilder zeigen, wird ein Erweiterungssymbol angezeigt, für welches das allowExpand-Attribut auf true festgelegt ist. Der folgende Code ist ein Beispiel für die msteams Eigenschaft:
{
"type": "AdaptiveCard",
"body": [
{
"type": "Image",
"url": "https://picsum.photos/200/200?image=110",
"msTeams": {
"allowExpand": true
}
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
Wenn Benutzer mit dem Mauszeiger auf das Bild zeigen, wird wie in der folgenden Abbildung ein Erweiterungssymbol in der oberen rechten Ecke angezeigt:
Das Bild wird in der Stage-Ansicht angezeigt, wenn der Benutzer das Erweiterungssymbol auswählt, wie in der folgenden Abbildung gezeigt:
In der Stageview können Benutzer das Bild vergrößern und verkleinern. Sie können die Bilder auf Ihrer adaptiven Karte auswählen, die über diese Funktion verfügen muss.
Hinweis
- Die Funktion zum Vergrößern und Verkleinern gilt nur für Bildelemente, die in einer adaptiven Karte den Typ „Bild“ aufweisen.
- Für mobile Teams-Apps ist die Stageview-Funktionalität für Bilder in adaptiven Karten standardmäßig verfügbar. Benutzer können Adaptive Card-Bilder in Stageview anzeigen, indem sie einfach auf das Bild tippen, unabhängig davon, ob das
allowExpandAttribut vorhanden ist oder nicht.
CodeBlock in adaptiven Karten
Das CodeBlock Element ermöglicht es Ihnen, Codeausschnitte als detailreich formatierte Adaptive Karten in Teams-Chats, -Kanälen und -Besprechungen freizugeben. Adaptive Karten mit dem CodeBlock Element machen den Codeausschnitt leicht lesbar, da die Einzüge, Nummerierungen und Syntaxhervorhebungen der Programmiersprache entsprechen. Darüber hinaus können Sie interaktive Schaltflächen hinzufügen, um den Code an der Quelle anzuzeigen oder den Code in integrierten Entwicklungsumgebungen (IDEs) wie Microsoft Visual Studio oder Microsoft Visual Studio Code zu bearbeiten.
Der folgende Screenshot zeigt eine adaptive Karte mit einem Codeausschnitt:
Das CodeBlock Element unterstützt die folgenden Sprachen:
| Sprache | Unterstützt | Sprache | Unterstützt |
|---|---|---|---|
| Bash | ✔️ | JSON | ✔️ |
| C | ✔️ | Perl | ✔️ |
| C++ | ✔️ | PHP | ✔️ |
| C# | ✔️ | PowerShell | ✔️ |
| CSS | ✔️ | Python | ✔️ |
| DOS | ✔️ | SQL | ✔️ |
| OK | ✔️ | TypeScript | ✔️ |
| GraphQL | ✔️ | Visual Basic | ✔️ |
| HTML | ✔️ | Verilog | ✔️ |
| Java | ✔️ | VHDL | ✔️ |
| JavaScript | ✔️ | XML | ✔️ |
Hinweis
Das CodeBlock Element erkennt Nur-Text als Sprache, wenn Sie den Enumerationswert in der language Eigenschaft des Schemas festlegenPlainText.
Der folgende Code ist ein Beispiel für eine adaptive Karte, die einen Codeausschnitt anzeigt:
{
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "editor.js",
"style": "heading"
},
{
"type": "TextBlock",
"text": "Lines 61 - 76"
},
{
"type": "CodeBlock",
"codeSnippet": "/**\n* @author John Smith <john.smith@example.com>\n*/\npackage l2f.gameserver.model;\n\npublic abstract strictfp class L2Char extends L2Object {\n public static final Short ERROR = 0x0001;\n\n public void moveTo(int x, int y, int z) {\n _ai = null;\n log(\"Shouldn't be called\");\n if (1 > 5) { // what!?\n return;\n }\n }\n}",
"language": "java",
"startLineNumber": 61
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View in Azure Repos",
"url": "https://azure.microsoft.com/en-us/products/devops/repos/"
},
{
"type": "Action.OpenUrl",
"title": "Edit in vscode.dev",
"url": "https://vscode.dev/"
}
]
}
Das CodeBlock Element unterstützt die folgenden Eigenschaften:
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
codeSnippet |
Zeichenfolge | Ja | Der Codeausschnitt, der in einer adaptiven Karte angezeigt werden soll. |
language |
Enum | Ja | Die Sprache des Codeausschnitts, der in einer adaptiven Karte angezeigt werden soll. |
startLineNumber |
Zahl | Nein | Die Zeilennummer in der Quelle, in der der Codeausschnitt beginnt. Wenn leer gelassen, wird standardmäßig 1 verwendet. |
Tipp
- Sonderzeichen haben bestimmte Funktionen in der
codeSnippetEigenschaft. Beispielsweise löst das Zeilenumbruchzeichen\neinen Zeilenumbruch aus. - Wenn Sie das Zeilenumbruchzeichen
\nals Teil des Codeausschnitts in einer adaptiven Karte anzeigen möchten, stellen Sie sicher, dass Sie es wie\\nin dercodeSnippetEigenschaft mit Escapezeichen versehen. Andernfalls rendert Teams den Code nach dem\nin der nächsten Zeile der Karte.
Begrenzungen
- Eine adaptive Karte mit dem
CodeBlockElement wird nur in Web- und Desktopclients von Teams unterstützt. - Der Codeausschnitt in einer adaptiven Karte ist schreibgeschützt und kann nicht bearbeitet werden.
- Eine adaptive Karte zeigt nur die ersten 10 Zeilen des Codeausschnitts an. Wenn mehr als 10 Codezeilen vorhanden sind, muss der Benutzer Erweitern auswählen, um den Rest des Codeausschnitts anzuzeigen.
Überlaufmenü "Adaptive Karten"
Die adaptive Karte in Teams unterstützt das Überlaufmenü. Sie können ein Überlaufmenü für alle sekundären Aktionen in einer adaptiven Karte auffüllen. Ein Überlaufmenü in einer adaptiven Karte kann den folgenden Karten hinzugefügt werden:
Aktionen: Bei Aktionen erscheinen die primären Schaltflächen auf der adaptiven Karte und die sekundären Schaltflächen befinden sich im Überlaufmenü.
ActionSet: ActionSet ist eine Kombination aus mehreren Aktionen in einer adaptiven Karte. Jedes Aktionsset kann über ein Überlaufmenü verfügen.
Hinweis
Eine adaptive Karte unterstützt bis zu sechs primäre Aktionen, die auf der Karte angezeigt werden können. Jede zusätzliche primäre Aktion wird im Überlaufmenü angezeigt.
Überlaufmenü aktivieren
Um das Überlaufmenü zu aktivieren, konfigurieren Sie die mode Eigenschaft mit dem Wert als primary oder secondary im Schema der adaptiven Karte. In der folgenden Tabelle wird die mode Eigenschaft beschrieben:
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
mode |
Enumeration (primär, sekundär) | Nein | Gibt an, ob es sich bei der Aktion um eine primäre oder sekundäre Aktion handelt. Sekundäre Aktionen werden in ein Überlaufmenü reduziert. |
Das folgende Beispiel zeigt die mode Eigenschaft im actions Typ und im ActionSet Element:
Aktionen
Im folgenden Beispiel gibt es zwei primäre Aktionen und eine sekundäre Aktion. Die sekundäre Aktion erstellt ein Überlaufmenü.
{
"type": "AdaptiveCard",
"actions": [
{
"type": "Action.Submit",
"title": "Set due date"
},
{
"type": "Action.OpenUrl",
"title": "View",
"url": "https://adaptivecards.microsoft.com/?topic=welcome"
},
{
"type": "Action.Submit",
"title": "Delete",
"mode": "secondary"
}
]
}
Hinweis
Das Überlaufmenü verhält sich auf einer vom Bot gesendeten Karte und einer Nachrichtenerweiterungs-Karte für die Stammebene actions in einer adaptiven Karte unterschiedlich. Das Überlaufmenü auf einer vom Bot gesendeten Karte erscheint als Popup-Kontextmenü und auf der Nachrichtenerweiterungs-Karte in der oberen rechten Ecke unter dem Symbol "Weitere Optionen (...)". Dieses Verhalten gilt nicht für eine ActionSet adaptive Karte.
Die folgende Abbildung zeigt ein Beispiel für ein Überlaufmenü in einer vom Bot gesendeten Karte und einer Nachrichtenerweiterungs-Karte:
Aktionsgruppe
Im folgenden Beispiel sind alle Aktionen als sekundär gekennzeichnet, daher wird ein einzelnes Überlaufmenü auf der Karte angezeigt.
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "view",
"mode": "Secondary"
{
},
"type": "Action.submit",
"title": "Delete",
"mode": "secondary"
},
{
"type": "Action.submit",
"title": "Delete",
"mode": "secondary"
}
]
}
Das folgende Beispiel zeigt die Überlaufmenü-Erfahrung in Microsoft Teams-Desktop- und mobilen Clients:
Wenn ein Benutzer das Überlaufmenü auf einem Desktop auswählt, werden die Schaltflächen, die als sekundär festgelegt sind, in der adaptiven Karte angezeigt.
Rahmen und abgerundete Ecken in adaptiven Karten
Adaptive Karten unterstützen eine Vielzahl von Elementen, aber zu viele Elemente überladen die Karte und beeinträchtigen die Lesbarkeit. Sie können verschiedenen Elementen in einer adaptiven Karte Rahmen hinzufügen, um sie abzugrenzen, sodass Benutzer sie einfacher unterscheiden können.
Sie können Adaptive Karten für mehrere Hosts verwenden. Viele dieser Gastgeber folgen zeitgenössischen Designsystemen und -rahmen. Adaptive Karten unterstützen abgerundete Ecken für verschiedene Elemente, um die Konsistenz mit diesen Hosts zu gewährleisten und mit den neuesten Designtrends Schritt zu halten. Abgerundete Ecken lassen das Design der Karte moderner und optisch ansprechender wirken und sorgen für einen weicheren visuellen Fluss.
Sie können Ränder und abgerundete Ecken nur den folgenden Elementen hinzufügen:
| Element | Rahmen | Abgerundete Ecken |
|---|---|---|
Container |
✔️ | ✔️ |
ColumnSet |
✔️ | ✔️ |
Column |
✔️ | ✔️ |
Table |
✔️ | ✔️ |
Image |
❌ | ✔️ |
Implementieren von Rändern und abgerundeten Ecken in adaptiven Karten
Um einem Container, ColumnSetoder Column Element einen Rahmen hinzuzufügen, legen Sie die showBorder Eigenschaft für das Element in der Nutzlast der Karte auf true fest. Um einem Table Element einen Rahmen hinzuzufügen, setzen Sie die showGridLines Eigenschaft auf true. Die Rahmenfarbe entspricht dem Stil des Elements, wie im HostConfig.json.
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
showBorder |
Boolean | Nein | Fügt , , oder Column Elementen einen Rahmen ColumnSetContainerhinzu. |
showGridLines |
Boolean | Nein | Fügt dem Table Element einen Rahmen hinzu. Standardwert: true |
Um abgerundete Ecken zu einem Container, ColumnSet, Columnoder Table Element hinzuzufügen, legen Sie die roundedCorners Eigenschaft für das Element in der Nutzlast der Karte auf true fest. Um dem Image Element abgerundete Ecken hinzuzufügen, legen Sie die style Eigenschaft auf Innerhalb des Elements fest RoundedCorners .
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
roundedCorners |
Boolean | Nein | Fügt Elemente , ColumnSet, Columnoder Table Elemente mit abgerundeten Ecken Containerhinzu. |
style |
Zeichenfolge | Nein | Fügt dem Image Element abgerundete Ecken hinzu, wenn Sie den Wert auf roundedCornersfestlegen. |
Die folgende JSON-Nutzlast zeigt eine adaptive Karte mit Rahmen und abgerundeten Ecken um ihre Elemente:
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "Below is a **ColumnSet** with borders and rounded corners:",
"wrap": true
},
{
"type": "ColumnSet",
"showBorder": true,
"roundedCorners": true,
"style": "emphasis",
"columns": [
{
"type": "Column",
"width": "stretch",
"showBorder": true,
"roundedCorners": true,
"style": "accent",
"items": [
{
"type": "TextBlock",
"text": "This is a **Column** with borders and rounded corners",
"wrap": true
}
]
},
{
"type": "Column",
"width": "stretch",
"showBorder": true,
"roundedCorners": true,
"style": "good",
"items": [
{
"type": "TextBlock",
"text": "This is another **Column** with borders and rounded corners",
"wrap": true
}
]
}
]
},
{
"type": "Container",
"style": "attention",
"showBorder": true,
"roundedCorners": true,
"items": [
{
"type": "TextBlock",
"text": "This is a **Container** with borders and rounded corners",
"wrap": true
}
]
},
{
"type": "Table",
"roundedCorners": true,
"columns": [
{
"width": 1
},
{
"width": 1
}
],
"rows": [
{
"type": "TableRow",
"cells": [
{
"type": "TableCell",
"items": [
{
"type": "TextBlock",
"text": "This **Table**...",
"wrap": true
}
]
},
{
"type": "TableCell",
"items": [
{
"type": "TextBlock",
"text": "...has borders and rounded corners",
"wrap": true
}
]
}
]
}
]
},
{
"type": "TextBlock",
"text": "The below **Image** has rounded corners:",
"wrap": true
},
{
"type": "Image",
"url": "https://media.licdn.com/dms/image/C4E03AQF5uhIghtPzrA/profile-displayphoto-shrink_400_400/0/1517690039090?e=2147483647&v=beta&t=g1DFilNHZhah2fhaTS9ylBxGGGb2XyPA2C7LZptk4QE",
"width": "100px",
"style": "RoundedCorners"
}
]
}
Scrollbare Container in adaptiven Karten
Ein Container mit vielen Elementen kann zu einer langen, unlesbaren Karte führen. Verwenden Sie die maxHeight Eigenschaft, um die maximale Höhe des Containers zu definieren. Wenn der Container eine maximale Höhe aufweist und sein Inhalt diese Höhe überschreitet, wird eine vertikale Bildlaufleiste angezeigt.
So wird die maxHeight Eigenschaft definiert:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
maxHeight |
Zeichenfolge | Definiert die maximale Höhe des Containers. Diese Eigenschaft ist in Container, Column, TableCellund auch in anderen Containern verfügbar.Sie müssen den Wert im <number>px Format definieren. |
Die folgende Karten-Nutzlast zeigt einen Container mit einer Bildlaufleiste:
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "This is a scrollable container",
"wrap": true,
"size": "ExtraLarge",
"weight": "Bolder"
},
{
"type": "Container",
"style": "emphasis",
"showBorder": true,
"maxHeight": "100px",
"items": [
{
"type": "TextBlock",
"text": "Item 1",
"size": "ExtraLarge"
},
{
"type": "TextBlock",
"text": "Item 2",
"size": "ExtraLarge"
},
{
"type": "TextBlock",
"text": "Item 3",
"size": "ExtraLarge"
}
]
}
]
}
Schaltfläche "Verbindung" in adaptiven Karten
Die zusammengesetzte Schaltfläche ist eine besondere Art von Schaltfläche mit einem Symbol, einem Titel und einer Beschreibung. Sie können mithilfe des CompoundButton Elements eine zusammengesetzte Schaltfläche hinzufügen. Mit diesem Element können Sie die Darstellung von Eingabeaufforderungsstartern in einer adaptiven Karte nachbilden.
Hier sind die Eigenschaften des CompoundButton Elements:
| Eigenschaft | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
type |
✔️ | Zeichenfolge | Muss CompoundButton sein. |
title |
✔️ | Zeichenfolge | Titel der Schaltfläche. Markdown wird nicht unterstützt. |
id |
Zeichenfolge | Eindeutiger Bezeichner für das Element oder die Aktion. | |
requires |
Objekt | Eine Liste der Funktionen, die das Element von der Host-App unterstützen muss. Wenn die Host-App mindestens eine der aufgeführten Funktionen nicht unterstützt, wird entweder das Element nicht gerendert, oder sein Fallback wird gerendert, falls angegeben. | |
isVisible |
Boolean | Steuert die Sichtbarkeit des Elements. | |
separator |
Boolean | Steuert, ob eine Trennlinie über dem Element angezeigt werden muss, um es visuell vom vorherigen Element zu trennen. Für das erste Element in einem Container wird kein Trennzeichen angezeigt, auch wenn diese Eigenschaft auf truefestgelegt ist. |
|
height |
Zeichenfolge | Höhe des Elements. Wenn festgelegt auf stretch, verwendet das Element den verbleibenden vertikalen Platz in seinem Container. Zulässige Werte: auto, stretch |
|
horizontalAlignment |
Zeichenfolge | Steuert, wie das Element horizontal ausgerichtet werden muss. Zulässige Werte: Left, Center, Right |
|
Spacing |
Zeichenfolge | Steuert den Abstand zwischen diesem Element und dem vorherigen. Für das erste Element in einem Container wird kein Leerzeichen hinzugefügt. Zulässige Werte: None, Small, Default, Medium, Large, ExtraLarge |
|
targetWidth |
Zeichenfolge | Steuert die Breite der Karte, für die das Element angezeigt werden soll. Wenn targetWidth nicht angegeben, wird das Element in allen Kartenbreiten gerendert. Die Verwendung targetWidth ermöglicht es, responsive Karten zu erstellen, die ihr Layout an den verfügbaren horizontalen Platz anpassen. Weitere Informationen finden Sie unter Responsives Layout für adaptive Karten. Zulässige Werte: VeryNarrow, Narrow, Standard, Wide |
|
icon |
Zeichenfolge | Auf der Schaltfläche angezeigtes Symbol. | |
badge |
Zeichenfolge | Badge auf der Schaltfläche. Markdown wird nicht unterstützt. | |
description |
Zeichenfolge | Beschreibungstext der Schaltfläche. Markdown wird nicht unterstützt. | |
selectAction |
Aktion, die aufgerufen wird, wenn die Schaltfläche ausgewählt wird. Alle Aktionen sind zulässig, mit Ausnahme von Action.ShowCard |
Hier sind die Eigenschaften des icon Elements:
| Eigenschaft | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
name |
✔️ | Zeichenfolge | Name des Symbols gemäß dem Fluent-Symbolverzeichnis. Er entspricht dem Namen des neuen icon-Elements. |
size |
Zeichenfolge | Größe des Symbols. Zulässige Werte: xxSmall, xSmall, Small, Standard, Medium, Large, xLarge, xxLarge |
|
style |
Zeichenfolge | Stil des Symbols. Zulässige Werte: Regular, Filled |
|
color |
Zeichenfolge | Farbe des Symbols. Zulässige Werte: Default, Dark, Light, Accent, Good, Warning, Attention |
Hier ist ein Beispiel für adaptive Karten, das das CompoundButton Element verwendet:
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "CompoundButton",
"title": "Photos",
"icon": {
"name": "Camera"
},
"description": "Add photos",
"height": "stretch"
}
]
}
Symbole in adaptiver Karte
Adaptive Karten unterstützen das Hinzufügen von Symbolen aus der Fluent-Symbolbibliothek mithilfe des Icon Elements. Sie können Fluent-Symbole auch für Aktionsschaltflächen verwenden, indem Sie die Eigenschaft der iconUrl Aktion auf einen Wert im Format .icon:<icon name>[,regular|filled]
Hier sind die Eigenschaften des Icon Elements:
| Eigenschaft | Beschreibung |
|---|---|
type |
Muss Icon sein. |
name |
Der Name des anzuzeigenden Symbols. Beispiel: calendar. |
size |
Größe des Symbols.
Zulässige Werte: xxSmall, xSmall, Small, Medium, LargexLarge, und xxLargeStandardwert: Standard |
color |
Farbe des Symbols.
Zulässige Werte: Dark, Light, Accent, GoodWarning, und AttentionStandardwert: Default |
style |
Stil des Symbols.
Zulässige Werte: Filled, Regular |
selectAction |
Aktion, die aufgerufen wird, wenn auf das Symbol getippt oder es ausgewählt wird. Alle Aktionstypen werden unterstützt, mit Ausnahme von Action.ShowCard. Zulässige Werte: Action.Execute, Action.OpenUrl, Action.Popover, Action.ResetInputs, Action.Submit, Action.ToggleVisibility |
Hier ist ein Beispiel für adaptive Karten, das das Icon Element und die iconUrl Eigenschaft in einer Aktionsschaltfläche verwendet:
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"text": "Here's an Icon element"
},
{
"type": "Icon",
"name": "Calendar",
"size": "Medium",
"style": "Filled",
"color": "Accent"
},
{
"type": "TextBlock",
"text": "Here's an Icon element in a button"
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Filled icon",
"url": "https://www.microsoft.com",
"iconUrl": "icon:AccessTime,filled"
}
]
}
Bewertungen in adaptiven Karten
Mit dem Input.Rating Element können Sie Ihrer adaptiven Karte eine Sternebewertung hinzufügen. Sie können mithilfe des Rating Elements auch eine schreibgeschützte Sternebewertung hinzufügen.
Die folgende Nutzlast zeigt eine adaptive Karte mit eingabefähigen und schreibgeschützten Sternebewertungen:
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"body": [
{
"type": "TextBlock",
"size": "Large",
"text": "Rating input"
},
{
"type": "Input.Rating",
"id": "rating1",
"label": "Pick a rating",
"size": "medium",
"color": "marigold",
"isRequired": true,
"errorMessage": "Please pick a rating"
},
{
"type": "TextBlock",
"size": "large",
"text": "Read-only rating",
"separator": true,
"spacing": "ExtraLarge"
},
{
"type": "Rating",
"max": 20,
"value": 3.2,
"color": "marigold"
}
]
}
Input.Rating
Hier sind die Eigenschaften des Input.Rating Elements:
| Eigenschaft | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
type |
✔️ | Zeichenfolge | Muss Input.Rating sein. |
allowHalfSteps |
Boolean | Steuert, ob der Benutzer halbe Sterne auswählen kann. Standardwert: false |
|
color |
Zeichenfolge | Die Farbe der Sterne. Zulässige Werte: Neutral, MarigoldStandardwert: Neutral |
|
errorMessage |
Zeichenfolge | Die Fehlermeldung, die angezeigt werden soll, wenn die Überprüfung der Eingabe fehlschlägt. | |
fallback |
Einer der Objekte oder Zeichenfolgen | Ein alternatives Element zum Rendern, wenn der Typ dieses Elements nicht unterstützt wird oder wenn die Hostanwendung nicht alle in der requires Eigenschaft angegebenen Funktionen unterstützt.Zulässige Werte: Container, ActionSet, ColumnSetMedia, RichTextBlock, , Table, TextBlockFactSetImageSetImageInput.TextInput.DateInput.TimeInput.NumberInput.ToggleInput.ChoiceSetInput.RatingRatingCompoundButtonIconChart.DonutChart.PieChart.VerticalBar.GroupedChart.VerticalBarChart.HorizontalBarChart.HorizontalBar.StackedChart.LineChart.GaugeCodeBlockdrop |
|
grid.area |
Zeichenfolge | Der Bereich eines Layout.AreaGrid Layouts, in dem ein Element angezeigt werden muss. |
|
height |
Zeichenfolge | Steuert die Höhe des Elements. Wenn festgelegt auf stretch, verwendet das Element den verbleibenden vertikalen Platz in seinem Container.Zulässige Werte: auto, stretchStandardwert: auto |
|
id |
✔️ | Zeichenfolge | Ein eindeutiger Bezeichner für das Element oder die Aktion. |
isRequired |
Boolean | Bestimmt, ob die Eingabe erforderlich ist. Standardwert: false |
|
isVisible |
Boolean | Bestimmt die Sichtbarkeit des Elements. Standardwert: true |
|
label |
Zeichenfolge | Die Bezeichnung der Eingabe. | |
lang |
Zeichenfolge | Das Gebietsschema, das dem Element zugeordnet ist. | |
max |
Zahl | Die Anzahl der anzuzeigenden Sterne. Die standardmäßig und maximal unterstützte Anzahl von Sternen beträgt fünf. | |
requires |
Objekt | Eine Liste der Funktionen, die das Element von der Hostanwendung unterstützen muss. Wenn die Hostanwendung mindestens eine der aufgeführten Funktionen nicht unterstützt, wird das Element nicht gerendert, oder sein Fallback wird gerendert, falls angegeben. Zulässige Werte: HostCapabilities |
|
separator |
Boolean | Bestimmt, ob über dem Element eine Trennlinie angezeigt werden soll, um es optisch vom vorherigen Element zu trennen. Für das erste Element in einem Container wird kein Trennzeichen angezeigt, auch wenn diese Eigenschaft auf truefestgelegt ist.Standardwert: false |
|
size |
Zeichenfolge | Die Größe der Sterne. Zulässige Werte: Medium, LargeStandardwert: Large |
|
spacing |
Zeichenfolge | Steuert den Abstand zwischen diesem Element und dem vorherigen. Für das erste Element in einem Container wird kein Leerzeichen hinzugefügt. Zulässige Werte: None, Small, Default, Medium, Large, ExtraLarge, PaddingStandardwert: Default |
|
targetWidth |
Zeichenfolge | Steuert die Breite der Karte, für die das Element angezeigt werden soll. Wenn targetWidth nicht angegeben, wird das Element in allen Kartenbreiten gerendert. Die Verwendung targetWidth ermöglicht es, responsive Karten zu erstellen, die ihr Layout an den verfügbaren horizontalen Platz anpassen. Weitere Informationen finden Sie unter Responsives Layout für adaptive Karten.Zulässige Werte: VeryNarrow, Narrow, Standard, Wide, atLeast:VeryNarrow, atMost:VeryNarrowatLeast:NarrowatMost:NarrowatLeast:StandardatMost:StandardatLeast:WideatMost:Wide |
|
value |
Zahl | Der Standardwert der Eingabe. Dieser Wert darf nicht überschreiten max, wenn max er angegeben ist. |
|
valueChangedAction |
Aktion | Eine Action.ResetInputs Aktion, die ausgeführt wird, wenn sich der Wert der Eingabe ändert.Zulässiger Wert: Action.ResetInputs |
Bewertung
Hier sind die Eigenschaften des Rating Elements:
| Eigenschaft | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
type |
✔️ | Zeichenfolge | Muss Rating sein. |
color |
Zeichenfolge | Die Farbe der Sterne. Zulässige Werte: Neutral, MarigoldStandardwert: Neutral |
|
count |
Zahl | Die Anzahl der "Stimmen", die der Bewertung zugeordnet sind. | |
fallback |
Einer der Objekte oder Zeichenfolgen | Ein alternatives Element zum Rendern, wenn dieser Elementtyp nicht unterstützt wird oder wenn die Hostanwendung nicht alle in der requires Eigenschaft angegebenen Funktionen unterstützt.Zulässige Werte: Container, ActionSet, ColumnSetMedia, RichTextBlock, , Table, TextBlockFactSetImageSetImageInput.TextInput.DateInput.TimeInput.NumberInput.ToggleInput.ChoiceSetInput.RatingRatingCompoundButtonIconChart.DonutChart.PieChart.VerticalBar.GroupedChart.VerticalBarChart.HorizontalBarChart.HorizontalBar.StackedChart.LineChart.GaugeCodeBlockdrop |
|
grid.area |
Zeichenfolge | Der Bereich eines Layout.AreaGrid Layouts, in dem ein Element angezeigt werden muss. |
|
height |
Zeichenfolge | Die Höhe des Elements. Wenn festgelegt auf stretch, verwendet das Element den verbleibenden vertikalen Platz in seinem Container.Zulässige Werte: Auto, Stretch |
|
horizontalAlignment |
Zeichenfolge | Steuert, wie das Element horizontal ausgerichtet werden soll. Zulässige Werte: Left, Center, Right |
|
id |
Zeichenfolge | Ein eindeutiger Bezeichner für das Element oder die Aktion. | |
isVisible |
Boolean | Steuert die Sichtbarkeit des Elements. Standardwert: true |
|
lang |
Zeichenfolge | Das Gebietsschema, das dem Element zugeordnet ist. | |
max |
Zahl | Die Anzahl der anzuzeigenden Sterne. Die standardmäßig und maximal unterstützte Anzahl von Sternen beträgt fünf. | |
requires |
Objekt | Eine Liste der Funktionen, die das Element von der Hostanwendung unterstützen muss. Wenn die Hostanwendung mindestens eine der aufgeführten Funktionen nicht unterstützt, wird das Element nicht gerendert, oder sein Fallback wird gerendert, falls angegeben. Zulässiger Wert: HostCapabilities |
|
separator |
Boolean | Steuert, ob über dem Element eine Trennlinie angezeigt werden soll, um es optisch vom vorherigen Element zu trennen. Für das erste Element in einem Container wird kein Trennzeichen angezeigt, auch wenn diese Eigenschaft auf truefestgelegt ist.Standardwert: false |
|
size |
Zeichenfolge | Die Größe der Sterne. Zulässige Werte: Medium, LargeStandardwert: Large |
|
spacing |
Zeichenfolge | Steuert den Abstand zwischen diesem Element und dem vorherigen. Für das erste Element in einem Container wird kein Leerzeichen hinzugefügt. Zulässige Werte: None, Small, Default, Medium, Large, ExtraLarge, PaddingStandardwert: Default |
|
style |
Zeichenfolge | Der Stil der Sterne. Im Kompaktmodus wird nur ein Stern angezeigt. Zulässige Werte: Default, CompactStandardwert: Default |
|
targetWidth |
Zeichenfolge | Steuert die Breite der Karte, für die das Element angezeigt werden soll. Wenn targetWidth nicht angegeben, wird das Element in allen Kartenbreiten gerendert. Die Verwendung targetWidth ermöglicht es, responsive Karten zu erstellen, die ihr Layout an den verfügbaren horizontalen Platz anpassen. Weitere Informationen finden Sie unter Responsives Layout für adaptive Karten.Zulässige Werte: VeryNarrow, Narrow, Standard, Wide, atLeast:VeryNarrow, atMost:VeryNarrowatLeast:NarrowatMost:NarrowatLeast:StandardatMost:StandardatLeast:WideatMost:Wide |
|
value |
Zahl | Der Wert der Bewertung. Dieser Wert muss zwischen Null und maxliegen, wenn max er angegeben ist. |
Formatieren von Karten mit HTML
Die folgenden Kartentypen unterstützen die HTML-Formatierung in Teams:
- Connectorkarten für Microsoft 365-Gruppen: Eingeschränktes Markdown und HTML-Formatierung werden in der Connector-Karte für Microsoft 365-Gruppen unterstützt.
- Hero- und Miniaturansichtskarten: HTML-Tags werden für einfache Karten unterstützt, z. B. Hero- und Miniaturansichtskarten.
Die Formatierung unterscheidet sich zwischen der Desktop- und der mobilen Version von Teams bei Konnektorkarten für Microsoft 365-Gruppen und einfachen Karten. In diesem Abschnitt können Sie das HTML-Formatbeispiel für Connector-Karten und einfache Karten durchgehen.
- HTML-Format für Connectorkarten für Microsoft 365-Gruppen
- HTML-Format für Hero- und Miniaturansichtskarten
Connector-Karten unterstützen eingeschränkte Markdown- und HTML-Formatierung.
| Format | Beispiel | HTML |
|---|---|---|
| Fett | text | <strong>text</strong> |
| Kursiv | text | <em>text</em> |
| Kopfzeile (Ebenen 1 bis 3) | Text | <h3>Text</h3> |
| Durchgestrichen |
|
<strike>text</strike> |
| Unsortierte Liste |
|
<ul><li>text</li><li>text</li></ul> |
| Sortierte Liste |
|
<ol><li>text</li><li>text</li></ol> |
| Vorformatierter Text | text |
<pre>text</pre> |
| Blockzitat | text |
<blockquote>text</blockquote> |
| Hyperlink | Bing | <a href="https://www.bing.com/">Bing</a> |
| Bildverknüpfung |
|
<img src="https://aka.ms/Fo983c" alt="Duck on a rock"></img> |
In Connector-Karten werden Zeilenumbrüche in HTML mit dem <p>-Tag gerendert.
Unterschiede zwischen Mobilgeräten und Desktops für Connector-Karten
Auf dem Desktop erscheint die HTML-Formatierung für Connector-Karten wie in der folgenden Abbildung dargestellt:
Unter iOS erscheint die HTML-Formatierung wie in der folgenden Abbildung dargestellt:
Connector-Karten, die HTML für iOS verwenden, weisen die folgenden Probleme auf:
- Inlinebilder werden auf iOS weder mit Markdown noch mit HTML in Connectorkarten gerendert.
- Vorformatierter Text wird gerendert, hat aber keinen grauen Hintergrund.
Unter Android erscheint die HTML-Formatierung wie in der folgenden Abbildung dargestellt:
Formatbeispiel für HTML-Connector-Karten
Der folgende Code zeigt ein Beispiel für die Formatierung von HTML-Connector-Karten:
{
"contentType": "application/vnd.microsoft.teams.card.o365connector",
"content": {
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"summary": "Summary",
"title": "Connector Card HTML formatting",
"sections": [
{
"text": "This is some <strong>bold</strong> text"
},
{
"text": "This is some <em>italic</em> text"
},
{
"text": "This is some <strike>strikethrough</strike> text"
},
{
"text": "<h1>Header 1</h1>\r<h2>Header 2</h2>\r <h3>Header 3</h3>"
},
{
"text": "bullet list <ul><li>text</li><li>text</li></ul>"
},
{
"text": "ordered list <ol><li>text</li><li>text</li></ol>"
},
{
"text": "hyperlink <a href=\"https://www.bing.com/\">Bing</a>"
},
{
"text": "embedded image <img src=\"https://aka.ms/Fo983c\" alt=\"Duck on a rock\"></img>"
},
{
"text": "preformatted text <pre>text</pre>"
},
{
"text": "Paragraphs <p>Line a</p><p>Line b</p>"
},
{
"text": "<blockquote>Blockquote text</blockquote>"
}
]
}
}
Codebeispiele
| S.No. | Beschreibung | .NET | Node.js | Manifest |
|---|---|---|---|---|
| 1 | Dieses Beispiel zeigt, wie Sie verschiedene Formatierungsstile in adaptiven Karten verwenden, z. B. Erwähnungen, Personensymbole und responsives Layout. | View | View | Anzeigen |