Solución:
Como se ve en esta respuesta, puede usar un InkWell o un detector de gestos.
Por ejemplo
InkWell(
child: Text("Hello"),
onTap: () {print("value of your text");},
)
O
var textValue = "Flutter"
InkWell(
child: Text(textValue),
onTap: () {print(textValue);},
)
EDITAR : Como sugirió Collin Jackson, también puede usar FlatButton
FlatButton(
onPressed: () {print("Hello world");},
child: Text("Hello world"),
);
Si no necesita o requiere material (FlatButton, InkWell, etc.), puede usar GestureDetector:
GestureDetector(
onTap: () { print("I was tapped!"); },
child: Text("Hello world"),
)
También puede hacer que el texto aparezca en forma de URL así:
new FlatButton(
onPressed: () {print("You've tapped me!")},
child: Text(
"Tap me!",
style: TextStyle(color: Colors.blue, decoration: TextDecoration.underline)),
);
puede usar texto enriquecido para texto que se puede tocar: –
Divida el texto en Text Span en consecuencia y use Tap Gesture en ese texto que desea que se pueda tocar.
TapGestureRecognizer _termsConditionRecognizer;
TapGestureRecognizer _privacyPolicyRecognizer;
@override
void dispose() {
_privacyPolicy.dispose();
_termsCondition.dispose();
super.dispose();
}
@override
void initState() {
super.initState();
_termsConditionRecognizer = TapGestureRecognizer()
..onTap = () {
print("Terms and condition tapped");
};
_privacyPolicyRecognizer = TapGestureRecognizer()
..onTap = () {
print("Provacy Policy tapped");
};
}
@override
Widget build(BuildContext context) {
return Container(
child: Center(
child: RichText(
text: TextSpan(
text: 'By signing up you agree to the ',
children: [
TextSpan(
text: 'Terms And Condition',
recognizer: _termsConditionRecognizer,
),
TextSpan(
text: ' and ',
),
TextSpan(
text: 'Privacy Policy',
recognizer: _privacyPolicyRecognizer,
),
],
),
),
),
);
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)