Skip to content

TextField ​

Interaction

Engine\Native\TextField est un champ tappable qui ouvre un vrai clavier natif : il n'y a pas d'élément <input> du DOM sur lequel l'IME du système puisse s'attacher sur un Canvas, donc taper cette boîte dit à NativeRenderPocActivity de superposer un vrai android.widget.EditText exactement sur ce rectangle (voir showTextInput()). La valeur affichée avant focus est celle que PHP a communiquée en dernier ; la saisie est suivie côté client et n'atteint PHP que lorsqu'un Button avec une action submit: collecte la valeur courante de chaque champ.

Exemple ​

php
<?php

use Engine\Native\TextField;

$password = new TextField(
    name: 'password',
    value: '',
    placeholder: 'Mot de passe',
    obscure: true,
);

Un champ de mot de passe masqué ; l'action générée sera focus:secure:password et déclenchera l'ouverture d'un clavier natif en mode masqué.

Constructeur ​

ParamètreTypeDéfautDescription
namestring—Nom du champ, lu depuis $_GET à la requête suivante.
valuestring''Valeur actuellement connue par PHP.
placeholderstring''Texte affiché quand la valeur est vide.
obscureboolfalseMasque la valeur affichée (des points) et l'action générée porte secure:.
multilineboolfalseÉquivalent natif d'Engine\Textarea — boîte plus haute, texte aligné en haut, clavier multi-lignes.
heightfloat52.0Hauteur du champ (portée à 120 minimum en mode multiline).

À savoir. L'action est composée dynamiquement (focus:multiline:secure:{name} par exemple) — c'est ce préfixe que NativeRenderPocActivity.kt parse pour choisir le type d'EditText à superposer, il ne s'agit pas d'une simple étiquette libre.

Voir aussi ​

PhpNitro est un produit FINANFA TECH — Publié sous licence MIT.