We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
해당 처리기 백화현상은 일단 해결되며, 결제 프로세스 자체에 영향을 끼치지는 않는 것으로 보여집니다.
나름 화면 회전을 고려하여 Stack 을 사용한 init 화면 등의 처리를 했음에도, 회전되는 애니메이션에서 발생하는 시각적인 측면에서의 유저경험을 방해한다는 것은 부정할 수 없었습니다.
https://gist.github.com/DevHyeon0312/714c9890538812dd004fdbcd2fb0583b
-- 핵심 요약 --
class _YourWidgetState extends State<YourWidget> with WidgetsBindingObserver { bool isLandscape = false; ... @override void initState() { super.initState(); WidgetsBinding.instance.addObserver(this); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) async { if (await _isSamsungIssueDevice()) { if (state == AppLifecycleState.resumed) { _showPortrait(); } else if (state == AppLifecycleState.hidden) { _shouldLandScape(); } } } Future<bool> _isSamsungIssueDevice() async { if (Platform.isAndroid) { /// DeviceInfoPlugin 을 사용하면 sdkIn 34, manufacturer samsung 일 경우에만 적용되도록 처리 가능합니다. /// (모든 Android 기기에서 이슈에 대한 처리를 하는 것은 비효율적이기 때문입니다.) // try { // var androidInfo = await DeviceInfoPlugin().androidInfo; // var sdkInt = androidInfo.version.sdkInt; // var manufacturer = androidInfo.manufacturer; // if (sdkInt == 34 && manufacturer == 'samsung') { // return true; // } // } catch (_) {} return true; } return false; } Future<void> _shouldLandScape() async { SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]); Future.delayed(const Duration(milliseconds: 500), () { setState(() { isLandscape = true; }); }); } Future<void> _showPortrait() async { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); Future.delayed(const Duration(milliseconds: 500), () { setState(() { isLandscape = false; }); }); } ...
The text was updated successfully, but these errors were encountered:
No branches or pull requests
해당 처리기 백화현상은 일단 해결되며, 결제 프로세스 자체에 영향을 끼치지는 않는 것으로 보여집니다.
나름 화면 회전을 고려하여 Stack 을 사용한 init 화면 등의 처리를 했음에도,
회전되는 애니메이션에서 발생하는 시각적인 측면에서의 유저경험을 방해한다는 것은 부정할 수 없었습니다.
https://gist.github.com/DevHyeon0312/714c9890538812dd004fdbcd2fb0583b
-- 핵심 요약 --
The text was updated successfully, but these errors were encountered: