add touch controllers

This commit is contained in:
niuhuan 2022-03-07 20:18:30 +08:00
parent 0d24079aef
commit ee7185ae43
4 changed files with 43 additions and 4 deletions

View File

@ -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;

View File

@ -8,11 +8,15 @@ import '../Method.dart';
enum FullScreenAction {
CONTROLLER,
TOUCH_ONCE,
TOUCH_DOUBLE,
TOUCH_DOUBLE_ONCE_NEXT,
THREE_AREA,
}
Map<String, FullScreenAction> _fullScreenActionMap = {
"点击屏幕一次全屏": FullScreenAction.TOUCH_ONCE,
"双击屏幕全屏": FullScreenAction.TOUCH_DOUBLE,
"双击屏幕全屏 + 单击屏幕下一页": FullScreenAction.TOUCH_DOUBLE_ONCE_NEXT,
"使用控制器全屏": FullScreenAction.CONTROLLER,
"将屏幕划分成三个区域 (上一页, 下一页, 全屏)": FullScreenAction.THREE_AREA,
};

View File

@ -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;
}

View File

@ -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