Marca Blanca - ReconoSERID/SDK-ReconoSERID-Android GitHub Wiki
****
+ Próximamente - Marca Blanca - SDK 3.1.0
Este apartado describe cómo customizar el SDK para ajustarse a la colorimetría y estilo visual de tu desarrollo. A través de las configuraciones disponibles, puedes adaptar las vistas y elementos visuales del SDK a los requerimientos específicos de tu aplicación.
Permite personalizar los colores de los botones, tanto primarios como secundarios, de acuerdo con la vista actual.
Permite sustituir el logo por una imagen personalizada en cada vista.
Puedes personalizar el color del texto en los mensajes de las vistas.
Se puede ajustar el tamaño de la tipografía de los textos en cada vista del SDK.
- No se permite el cambio del tipo de fuente: El SDK usa fuentes predeterminadas y no permite modificarlas.
- No se permite cambiar el fondo de la Vista de Cámara: El fondo de la Vista de Cámara (tanto en documento como en facial) permanecerá blanco en todo momento.
La personalización de la interfaz de usuario se realiza mediante un objeto UiCustomization
, el cual se pasa a través de un Intent
cuando se inicia cualquiera de las actividades relevantes.
- Los archivos que van en el parametro customLogo debe ser un SVG un drawable de Android (preferentemente en formato XML para asegurar escalabilidad).
- El tamaño del logo esta restringido a un ancho de 188 dp y una altura de 41 dp para evitar que la UI se desajuste. Estos valores aseguran que el logo se vea correctamente en diversas pantallas y que no cause problemas de diseño en la interfaz.
-
Crear una instancia de
UiCustomization
:
Define los cambios de personalización para cada vista del SDK utilizando las clasesUiCustomization
,TextUiCustomization
,ButtonUiCustomization
, etc. -
Enviar la personalización al Intent:
Una vez configurada la personalización, se pasa alIntent
correspondiente de cada actividad.
// Crear una instancia de UiCustomization
val customizationUi = UiCustomization(
customLogo = LogoTheme(
mainLogo = R.drawable.logo_light,
darkLogo = R.drawable.logo_dark
),
documentScannerView = DocumentScannerView(
titleCustomization = TextUiCustomization(textColor = R.color.colorPrimary, textSize = 16f),
contentTextColor = TextUiCustomization(textColor = R.color.colorAccent),
primaryButtonCustomization = ButtonUiCustomization(
textSize = 14f,
buttonTextColor = R.color.white,
buttonBackgroundColor = R.color.buttonPrimary
)
),
documentTutorialView = DocumentTutorialView(
titleCustomization = TextUiCustomization(textColor = R.color.colorPrimary, textSize = 18f),
primaryButtonCustomization = ButtonUiCustomization(
textSize = 16f,
buttonTextColor = R.color.white,
buttonBackgroundColor = R.color.buttonPrimary
)
),
// Agregar personalización para las demás vistas...
)
// Enviar la personalización a la actividad correspondiente
val intent = Intent(context, BlackBoxActivity::class.java)
intent.putExtra(UI_CUSTOMIZATION, customizationUi)
startActivity(intent)
// Crear una instancia de UiCustomization
UiCustomization customizationUi = new UiCustomization(
new LogoTheme(R.drawable.logo_light, R.drawable.logo_dark),
new DocumentScannerView(
new TextUiCustomization(R.color.colorPrimary, 16f),
new TextUiCustomization(R.color.colorAccent),
new ButtonUiCustomization(14f, R.color.white, R.color.buttonPrimary)
),
new DocumentTutorialView(
new TextUiCustomization(R.color.colorPrimary, 18f),
new ButtonUiCustomization(16f, R.color.white, R.color.buttonPrimary)
)
// Agregar personalización para las demás vistas...
);
// Enviar la personalización a la actividad correspondiente
Intent intent = new Intent(context, BlackBoxActivity.class);
intent.putExtra(UI_CUSTOMIZATION, customizationUi);
startActivity(intent);
Es el objeto principal que contiene todas las personalizaciones visuales del SDK. Puede incluir personalizaciones para las vistas de escaneo de documentos, tutoriales, vista de biometría, entre otros.
Estas son clases específicas para cada vista que se quiere customizar. En cada una de ellas, puedes modificar la apariencia del título, subtítulo, color del texto, y los botones.
Permite personalizar los textos (color y tamaño) en cada vista.
Permite modificar las características de los botones (tamaño de texto, color de fondo, color de texto).
La clase UiCustomization
permite la personalización de diferentes vistas que forman parte de la interfaz de usuario, como el logo, el escáner de documentos, y las vistas de tutoriales y biometría.
data class UiCustomization(
var customLogo: LogoTheme? = null,
val documentScannerView: DocumentScannerView? = null,
var documentTutorialView: DocumentTutorialView? = null,
val documentPreviewView: DocumentPreviewView? = null,
val aTDPView: ATDPView? = null,
var biometricTutorialView: BiometricTutorialView? = null,
var biometricPreviewView: BiometricPreviewView? = null,
var biometricReaderView: BiometricReaderView? = null,
) : Serializable
Esta clase se usa para la configuración del logo del cliente se envían 2 logos uno para cuando el dispositivo esta bajo el tema light y otro cuando esta en dark ambos valores pueden ir en null y se tomara el logo de Olimpia
data class LogoTheme(
@DrawableRes var mainLogo: Int? = null,
@DrawableRes var darkLogo: Int? = null,
) : Serializable
Esta clase se usa para la configuración del color de las vistas se envían 2 logos uno para cuando el dispositivo esta bajo el tema light y otro cuando esta en dark ambos valores pueden ir en null.
data class ColorTheme(
@ColorRes var mainColor: Int? = null,
@ColorRes var darkColor: Int? = null,
) : Serializable
Clase utilizada para personalizar los botones en la interfaz de usuario.
data class ButtonUiCustomization(
var textSize: Float? = null,
var buttonTextColor: ColorTheme? = null,
var buttonBackgroundColor: ColorTheme? = null,
var buttonText: String? = null,
) : Serializable
Clase utilizada para personalizar el texto en la interfaz de usuario.
data class TextUiCustomization(
var textColor: ColorTheme? = null,
var textSize: Float? = null,
var text: String? = null,
) : Serializable
-
customLogo (
LogoTheme?
): Recurso del logo personalizado (ambos se envian en formato drawable). -
documentScannerView (
DocumentScannerView?
): Personalización de la vista del escáner de documentos. -
documentTutorialView (
DocumentTutorialView?
): Personalización de la vista del tutorial de documentos. -
documentPreviewView (
DocumentPreviewView?
): Personalización de la vista previa del documento. -
aTDPView (
ATDPView?
): Personalización de la vista ATDP. -
biometricTutorialView (
BiometricTutorialView?
): Personalización de la vista tutorial de biometría. -
biometricPreviewView (
BiometricPreviewView?
): Personalización de la vista previa biométrica. -
biometricReaderView (
BiometricReaderView?
): Personalización de la vista del lector biométrico.
Advertencia:
Los valores proporcionados en los parámetros pueden ser
null
. En caso de que alguno de estos valores se pase comonull
, se utilizará el valor por defecto establecido en el SDK. Además, las pantallas DocumentScannerView y BiometricReaderView mantendrán el fondo por defecto del SDK.
========================================================
- Anterior - Marca Blanca - SDK <3.0.2
Este apartado describe cómo customizar el SDK para ajustarse a la colorimetría y estilo visual de tu desarrollo. A través de las configuraciones disponibles, puedes adaptar las vistas y elementos visuales del SDK a los requerimientos específicos de tu aplicación.
Permite personalizar los colores de los botones, tanto primarios como secundarios, de acuerdo con la vista actual.
Permite sustituir el logo por una imagen personalizada en cada vista.
Puedes personalizar el color del texto en los mensajes de las vistas.
Se puede ajustar el tamaño de la tipografía de los textos en cada vista del SDK.
- No se permite el cambio del tipo de fuente: El SDK usa fuentes predeterminadas y no permite modificarlas.
- No se permite cambiar el fondo de la Vista de Cámara: El fondo de la Vista de Cámara (tanto en documento como en facial) permanecerá blanco en todo momento.
La personalización de la interfaz de usuario se realiza mediante un objeto UiCustomization
, el cual se pasa a través de un Intent
cuando se inicia cualquiera de las actividades relevantes.
- El archivo que va en el parametro customLogo debe ser un SVG un drawable de Android (preferentemente en formato XML para asegurar escalabilidad).
- El tamaño del logo esta restringido a un ancho de 188 dp y una altura de 41 dp para evitar que la UI se desajuste. Estos valores aseguran que el logo se vea correctamente en diversas pantallas y que no cause problemas de diseño en la interfaz.
-
Crear una instancia de
UiCustomization
: Define los cambios de personalización para cada vista del SDK utilizando las clasesUiCustomization
,TextUiCustomization
,ButtonUiCustomization
, etc. -
Enviar la personalización al Intent: Una vez configurada la personalización, se pasa al
Intent
correspondiente de cada actividad.
// Crear una instancia de UiCustomization
val customizationUi = UiCustomization(
customLogo = R.drawable.custom_logo,
documentScannerView = DocumentScannerView(
titleCustomization = TextUiCustomization(textColor = R.color.colorPrimary, textSize = 16f),
contentTextColor = TextUiCustomization(textColor = R.color.colorAccent),
primaryButtonCustomization = ButtonUiCustomization(
textSize = 14f,
buttonTextColor = R.color.white,
buttonBackgroundColor = R.color.buttonPrimary
)
),
documentTutorialView = DocumentTutorialView(
titleCustomization = TextUiCustomization(textColor = R.color.colorPrimary, textSize = 18f),
primaryButtonCustomization = ButtonUiCustomization(
textSize = 16f,
buttonTextColor = R.color.white,
buttonBackgroundColor = R.color.buttonPrimary
)
),
// Agregar personalización para las demás vistas...
)
// Enviar la personalización a la actividad correspondiente
val intent = Intent(context, BlackBoxActivity::class.java)
intent.putExtra(UI_CUSTOMIZATION, customizationUi)
startActivity(intent)
// Crear una instancia de UiCustomization
UiCustomization customizationUi = new UiCustomization(
R.drawable.custom_logo,
new DocumentScannerView(
new TextUiCustomization(R.color.colorPrimary, 16f),
new TextUiCustomization(R.color.colorAccent),
new ButtonUiCustomization(14f, R.color.white, R.color.buttonPrimary)
),
new DocumentTutorialView(
new TextUiCustomization(R.color.colorPrimary, 18f),
new ButtonUiCustomization(16f, R.color.white, R.color.buttonPrimary)
)
// Agregar personalización para las demás vistas...
);
// Enviar la personalización a la actividad correspondiente
Intent intent = new Intent(context, BlackBoxActivity.class);
intent.putExtra(UI_CUSTOMIZATION, customizationUi);
startActivity(intent);
Es el objeto principal que contiene todas las personalizaciones visuales del SDK. Puede incluir personalizaciones para las vistas de escaneo de documentos, tutoriales, vista de biometría, entre otros.
Estas son clases específicas para cada vista que se quiere customizar. En cada una de ellas, puedes modificar la apariencia del título, subtítulo, color del texto, y los botones.
Permite personalizar los textos (color y tamaño) en cada vista.
Permite modificar las características de los botones (tamaño de texto, color de fondo, color de texto).
La clase UiCustomization
permite la personalización de diferentes vistas que forman parte de la interfaz de usuario, como el logo, el escáner de documentos, y las vistas de tutoriales y biometría.
data class UiCustomization(
@DrawableRes val customLogo: Int? = null,
val documentScannerView: DocumentScannerView? = null,
var documentTutorialView: DocumentTutorialView? = null,
val documentPreviewView: DocumentPreviewView? = null,
val aTDPView: ATDPView? = null,
var biometricTutorialView: BiometricTutorialView? = null,
var biometricPreviewView: BiometricPreviewView? = null,
var biometricReaderView: BiometricReaderView? = null,
) : Serializable
Clase utilizada para personalizar los botones en la interfaz de usuario.
data class ButtonUiCustomization(
var textSize: Float? = null,
@ColorRes var buttonTextColor: Int? = null,
@ColorRes var buttonBackgroundColor: Int? = null,
) : Serializable
Clase utilizada para personalizar el texto en la interfaz de usuario.
data class TextUiCustomization(@ColorRes var textColor: Int? = null, var textSize: Float? = null) :
Serializable
-
customLogo (
Int?
): Recurso del logo personalizado (en formato drawable). -
documentScannerView (
DocumentScannerView?
): Personalización de la vista del escáner de documentos. -
documentTutorialView (
DocumentTutorialView?
): Personalización de la vista del tutorial de documentos. -
documentPreviewView (
DocumentPreviewView?
): Personalización de la vista previa del documento. -
aTDPView (
ATDPView?
): Personalización de la vista ATDP. -
biometricTutorialView (
BiometricTutorialView?
): Personalización de la vista tutorial de biometría. -
biometricPreviewView (
BiometricPreviewView?
): Personalización de la vista previa biométrica. -
biometricReaderView (
BiometricReaderView?
): Personalización de la vista del lector biométrico.
Advertencia:
Los valores proporcionados en los parámetros pueden ser
null
. En caso de que alguno de estos valores se pase comonull
, se utilizará el valor por defecto establecido en el SDK. Además, las pantallas DocumentScannerView y BiometricReaderView mantendrán el fondo por defecto del SDK.