Плоская кнопка на нажатой не работает касанием пальца в iOs Safari
Я разработал игру с Flutter, которую встроил на веб-страницу. Ни одно из действий не работает с касанием пальца в Safari на iPad. Они реагируют только на щелчки мышью. Они реагируют на касание пальцем в Chrome на мобильном устройстве.
На первом экране есть простая плоская кнопка с onPressed для перехода к следующему экрану. Кнопка отлично работает в Chrome, Firefox и даже Safari, но в этом случае только с помощью мыши. Если я пробовал играть в Safari на iPad, onPressed не работает ни с пальцами, ни с карандашом.
То же самое и с логотипом, который я встроил в виджет InkWell с помощью onTap.
Вот страница с игрой: http://www.maxetom.com/jeux_lecture/son_a1.php
Вот код кнопки:
import 'package:flutter/material.dart';
class OrangeButton extends StatelessWidget {
final String screenName;
final String text;
OrangeButton(this.text, this.screenName);
void callNextScreen(BuildContext context) {
Navigator.of(context).pushNamed(screenName);
}
@override
Widget build(BuildContext context) {
return ClipRRect(
borderRadius: BorderRadius.circular(15),
child: FlatButton(
color: Theme.of(context).accentColor,
textColor: Colors.white,
onPressed: () => callNextScreen(context),
child: Container(
alignment: Alignment.center,
width: 120,
height: 50,
child: Text(
text,
style: Theme.of(context).textTheme.bodyText1,
),
),
),
);
}
}
Вот код для InkWell + onTap:
import 'package:url_launcher/url_launcher.dart';
import 'package:flutter/material.dart';
class Logo extends StatelessWidget {
const Logo({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: Colors.transparent,
alignment: Alignment.centerRight,
padding: const EdgeInsets.symmetric(vertical: 2.0, horizontal: 5.0),
child: Material(
color: Theme.of(context).primaryColorDark,
child: InkWell(
child: Text(
'maxetom',
style: TextStyle(
fontFamily: 'Bradley',
fontWeight: FontWeight.bold,
fontSize: 20,
color: Colors.white,
letterSpacing: 1.5,
),
textAlign: TextAlign.right,
),
onTap: () async {
final url = 'http://www.maxetom.com/';
if (await canLaunch(url)) {
await launch(
url,
forceSafariVC: false,
);
}
},
),
),
);
}
}
Я использовал "Flutter build web" для создания релиза для веб-версии.
Я наверное что-то упускаю. Есть у кого-нибудь идеи?
Спасибо!