Использование PopScope для прогнозирующей задней анимации во Flutter Android не работает, вместо этого происходит возвра ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Использование PopScope для прогнозирующей задней анимации во Flutter Android не работает, вместо этого происходит возвра

Сообщение Anonymous »

При использовании PopScope для обработки любой прогнозируемой обратной анимации (как указано в официальной документации) я не получаю никакой прогнозируемой обратной анимации, и вместо этого приложение просто возвращается в нормальное состояние, как и должно.
Вот мой главный экран (settings_screen.dart):

Код: Выделить всё

import 'package:flutter/material.dart';
import 'package:weatherfast/about_screen.dart';
import 'package:weatherfast/help_screen.dart';

class SettingsScreen extends StatelessWidget {
const SettingsScreen({super.key});

@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(Icons.settings, size: 50, color: Colors.blue),
const SizedBox(height: 10),
const Text(
'Settings',
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
const SizedBox(height: 20),
ListView(
shrinkWrap: true,
children: [
ListTile(
leading: const Icon(Icons.info_rounded),
title: const Text('About App'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (_) => AboutScreen()),
);
},
),
ListTile(
leading: const Icon(Icons.question_answer_rounded),
title: const Text('Help and Feedback'),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(builder: (_) => const HelpScreen()),
);
},
),
],
),
],
),
);
}
}
А вот экран, к которому я пытаюсь перейти и обратно (help_screen.dart):

Код: Выделить всё

import 'package:flutter/material.dart';
import 'webview_screen.dart'; // Import your WebViewScreen here

class HelpScreen extends StatelessWidget {
const HelpScreen({super.key});

@override
Widget build(BuildContext context) {
// Define URLs for Feature Request and Bug Report
const featureRequestUrl = 'https://forms.gle/yWgLvBr2vMagmFbQ8';
const bugReportUrl = 'https://forms.gle/vmdA2oyWtLtDu8jA8';

// List items for the screen
final List items = [
{'title': 'Feature Request', 'url': featureRequestUrl},
{'title': 'Bug Report', 'url': bugReportUrl},
];

return PopScope(
canPop: true,
child: Scaffold(
appBar: AppBar(title: const Text('Help and Feedback')),
body: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return ListTile(
title: Text(item['title']!),
trailing: const Icon(Icons.arrow_forward),
onTap: () {
// Navigate to WebViewScreen with the selected URL
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => WebViewScreen(url: item['url']!),
),
);
},
);
},
),
),
);
}
}
Этот вопрос отличается от остальных, которые я могу найти, поскольку он конкретно относится к прогнозирующей анимации спины, а не к использованию PopScope для других действий.
Устройство I тестирую на: Samsung S24 FE под управлением Android 14.
Буду очень признателен за помощь.

Подробнее здесь: https://stackoverflow.com/questions/793 ... snt-work-i

Вернуться в «Android»