Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Configuración del tema de extensibilidad
Para personalizar estilos de interfaz de usuario de elementos, la aplicación host puede pasar estilos (objeto JSON sin formato) como una propiedad opcional para el elemento raíz
<AdaptiveCards/>
.Actualmente, los elementos siguientes se admiten en la configuración del tema.
- input
- Nuevo…
- choice Set
- selector de fecha
- selector de hora
La aplicación host puede proporcionar estilos
platform-specific
como se mencionó en el ejemplo siguiente. Para los mismos estilos entre plataformas, pase los estilos sin la plataforma.- Tenga en cuenta que si desea proporcionar estilos
platform-specific
, debe proporcionar estilos diferentes para todasiOS
las plataformas ,Android
yWindows
explícitamente. Busque el ejemplo siguiente.
- Tenga en cuenta que si desea proporcionar estilos
La
color
propiedad ytextTransform
de sebutton
aplicará al título del botón. Todos los estilos restantes de sebutton
aplicarán al componente React-Native botón.
Ejemplo
En este ejemplo, los estilos pasados para el elemento input
se aplican a todas las plataformas, button
mientras que para los estilos específicos de la plataforma se aplican.
customThemeConfig = {
input: {
borderColor: "#000000",
backgroundColor: "#F5F5F5",
borderRadius: 4,
borderWidth: 1,
},
button: {
"ios": {
color: 'white',
backgroundColor: "#1D9BF6",
},
"android": {
color: 'white',
backgroundColor: "#1D9BF6",
},
"windows": {
color: 'white',
backgroundColor: "#1D9BF6",
}
}
}
<AdaptiveCards themeConfig={customThemeConfig} payload={payload} />
Configuración predeterminada del tema
Actualmente, AdaptiveCards toma la configuración del tema siguiente de forma predeterminada. Sin embargo, el desarrollador de tarjetas adaptables puede invalidar los estilos siguientes o agregar nuevos estilos mediante la configuración del tema personalizado. Tenga en cuenta que los estilos personalizados que pasan a los elementos siguientes deben ser compatibles con los componentes React-Native correspondientes.
Además, para proporcionar un color de marcador de posición diferente para placeHolderTextColor
los elementos de entrada, los desarrolladores pueden pasar un estilo personalizado llamado en las propiedades themeConfig : input, inputDate, and inputTime
.
defaultThemeConfig = {
button: {
ios: {
borderRadius: 15,
backgroundColor: "#1D9BF6",
color: "white",
textTransform: "none"
},
android: {
borderRadius: 15,
backgroundColor: "#1D9BF6",
color: "white"
},
windows: {
borderRadius: 15,
backgroundColor: "#1D9BF6",
color: "white",
textTransform: "none"
}
},
input: {
borderColor: "#dcdcdc",
backgroundColor: "white",
borderRadius: 5,
borderWidth: 1
},
inputDate: {
width: "100%",
height: 44,
padding: 5,
borderWidth: 1,
backgroundColor: "white",
borderColor: "lightgrey",
borderRadius: 5
},
inputTime: {
width: "100%",
height: 44,
padding: 5,
borderWidth: 1,
backgroundColor: "white",
borderColor: "lightgrey",
borderRadius: 5
},
radioButton: {
width: 24,
height: 24,
activeColor: "#000000",
inactiveColor: "#404040"
},
radioButtonText: {
marginLeft: 8,
flexShrink: 1,
activeColor: "#000000",
inactiveColor: "#404040"
},
checkBox: {
width: 28,
height: 28,
activeColor: "#000000",
inactiveColor: "#404040"
},
checkBoxText: {
marginLeft: 8,
flexShrink: 1,
activeColor: "#000000",
inactiveColor: "#404040"
},
dropdown: {
ios: {
flexDirection: "row",
justifyContent: "space-between",
alignItems: "flex-end",
borderWidth: 1,
backgroundColor: "white",
borderColor: "lightgrey",
borderRadius: 5
},
android: {
borderWidth: 1,
backgroundColor: "lightgrey",
borderColor: "lightgrey",
borderRadius: 5
},
windows: {
flexDirection: "row",
justifyContent: "space-between",
alignItems: "flex-end",
borderWidth: 1,
backgroundColor: "white",
borderColor: "lightgrey",
borderRadius: 5
}
},
dropdownText: {
color: "#000000",
textAlign: "left",
marginTop: 10,
marginLeft: 8,
height: 30
},
picker: {
borderWidth: 1,
backgroundColor: "lightgrey",
borderColor: "lightgrey",
color: "#000000",
borderRadius: 5,
marginHorizontal: 2
},
dateTimePicker: {
backgroundColor: "white",
height: 260,
width: "100%",
textColor: "#000000"
},
switch: {
trackColor: undefined, /// Object of type {true: color; false: color} (See RN Docs)
thumbColor: undefined,
ios_backgroundColor: undefined
}
};