From ee7185ae43a06f38dc627510e23a3ee9d21e3f0b Mon Sep 17 00:00:00 2001 From: niuhuan Date: Mon, 7 Mar 2022 20:18:30 +0800 Subject: [PATCH] add touch controllers --- ios/Runner.xcodeproj/project.pbxproj | 9 ++++--- lib/basic/config/FullScreenAction.dart | 4 ++++ lib/screens/components/ImageReader.dart | 32 +++++++++++++++++++++++++ scripts/build-ipa.sh | 2 +- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 028793e..42bc2a8 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -344,7 +344,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -360,6 +360,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 5BU82VSTV4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; @@ -423,7 +424,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -473,7 +474,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -491,6 +492,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 5BU82VSTV4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; @@ -514,6 +516,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 5BU82VSTV4; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 11.0; diff --git a/lib/basic/config/FullScreenAction.dart b/lib/basic/config/FullScreenAction.dart index 5236f33..41f1b60 100644 --- a/lib/basic/config/FullScreenAction.dart +++ b/lib/basic/config/FullScreenAction.dart @@ -8,11 +8,15 @@ import '../Method.dart'; enum FullScreenAction { CONTROLLER, TOUCH_ONCE, + TOUCH_DOUBLE, + TOUCH_DOUBLE_ONCE_NEXT, THREE_AREA, } Map _fullScreenActionMap = { "点击屏幕一次全屏": FullScreenAction.TOUCH_ONCE, + "双击屏幕全屏": FullScreenAction.TOUCH_DOUBLE, + "双击屏幕全屏 + 单击屏幕下一页": FullScreenAction.TOUCH_DOUBLE_ONCE_NEXT, "使用控制器全屏": FullScreenAction.CONTROLLER, "将屏幕划分成三个区域 (上一页, 下一页, 全屏)": FullScreenAction.THREE_AREA, }; diff --git a/lib/screens/components/ImageReader.dart b/lib/screens/components/ImageReader.dart index e3859f9..826d7b0 100644 --- a/lib/screens/components/ImageReader.dart +++ b/lib/screens/components/ImageReader.dart @@ -506,6 +506,10 @@ abstract class _ImageReaderContentState extends State<_ImageReaderContent> { return _buildFullScreenController(); case FullScreenAction.TOUCH_ONCE: return _buildTouchOnceController(); + case FullScreenAction.TOUCH_DOUBLE: + return _buildTouchDoubleController(); + case FullScreenAction.TOUCH_DOUBLE_ONCE_NEXT: + return _buildTouchDoubleOnceNextController(); case FullScreenAction.THREE_AREA: return _buildThreeAreaController(); default: @@ -559,6 +563,30 @@ abstract class _ImageReaderContentState extends State<_ImageReaderContent> { ); } + Widget _buildTouchDoubleController() { + return GestureDetector( + behavior: HitTestBehavior.translucent, + onDoubleTap: () { + widget.struct.onFullScreenChange(!widget.struct.fullScreen); + }, + child: Container(), + ); + } + + Widget _buildTouchDoubleOnceNextController() { + return GestureDetector( + behavior: HitTestBehavior.translucent, + onTap: () { + _readerControllerEvent + .broadcast(_ReaderControllerEventArgs("DOWN")); + }, + onDoubleTap: () { + widget.struct.onFullScreenChange(!widget.struct.fullScreen); + }, + child: Container(), + ); + } + Widget _buildThreeAreaController() { return LayoutBuilder( builder: (BuildContext context, BoxConstraints constraints) { @@ -675,6 +703,10 @@ abstract class _ImageReaderContentState extends State<_ImageReaderContent> { return false; case FullScreenAction.TOUCH_ONCE: return true; + case FullScreenAction.TOUCH_DOUBLE: + return true; + case FullScreenAction.TOUCH_DOUBLE_ONCE_NEXT: + return true; case FullScreenAction.THREE_AREA: return true; } diff --git a/scripts/build-ipa.sh b/scripts/build-ipa.sh index 8cf92ef..4fb27c2 100644 --- a/scripts/build-ipa.sh +++ b/scripts/build-ipa.sh @@ -11,5 +11,5 @@ cd build mkdir -p Payload mv ios/iphoneos/Runner.app Payload -sh ../scripts/thin_payload.sh +sh ../scripts/thin-payload.sh zip -9 nosign.ipa -r Payload