Voilà en gros ce que je voulais décrire maladroitement (c'est sous Android je précise car sous windows, le comportement est complètement différent cf. in fine) :
On voit bien que si on met un Tbutton sur un TPanel, aucune possibilité de couleur, tout est gris sur gris (beurk)
J'ai bien essayé la propriété TintColor, mais elle n'est pas opaque ! elle est influencé par le fond, qu'il soit gris, violet ou même rien, comme sur un TLayout.
Essayez un TinColor Red et vous verrez la catastrophe.
Je viens de découvrir que sous windows ... ça n'a aucun effet.
Et sous Android, il y a toujours cette fameuse transparence qui empêche le bouton d'avoir une couleur complètement opaque et conforme à ce que tu veux (pas ce que le système veut !)
Voyez ce que devient le red sur le violet, le gris ou le ...rien !
Si on veut mettre un peu de couleur et qu'on met un TRectangle sur le TPanel, le button sera de la même couleur que le Tpanel par transparence, il ne reste même pas gris opaque !
Déjà si on pouvait choisir que le fond soit opaque et pas transparent (je précise que Opacity est sur 1)
Si on met un TLabel dans un TRect sur le TRect violet déjà, ça prend la couleur du rectangle qui contient le Tlabel, et on peu même mettre des bords arrondis.
Si on met le Trect violet de fond sur un Tlayout, le button à le même comportement transparent
si on met un Button sur un TLayout, on voit bien la transparence du Button car les points de la grille sont apparents
Si on met le buttonTrectangleTlabel sur un Tlayout on voit bien qu'il n'est pas perturbé et qu'il est opaque
Si on le met sur un Trectangle de fond d'une couleur différente, pas de problème.
Donc, le TPanel et le TButton ne sont d'aucun utilité dans le contexte Android car ils ne servent à rien, aucune utilité pratique.
Sous Windows, le comportement est différent, mais on ne peut pas donner de couleur aux boutons non plus.
En conclusion, ce qu'il faudrait c'est que les composants FMX disposent d'une propriété Fill comme les TRectangle.
Partager