From 4847e3dcd640375546d15989369a3ee4a592959c Mon Sep 17 00:00:00 2001 From: lcy <2503978335@qq.com> Date: Tue, 6 Jun 2023 12:01:20 +0800 Subject: [PATCH] feat:添加设备方向处理 --- android/app/build.gradle | 4 ++-- android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt | 2 +- ios/Runner.xcodeproj/project.pbxproj | 13 ++++++------- ios/Runner/Base.lproj/Main.storyboard | 17 ++++++++++------- ios/Runner/Info.plist | 10 ++++++---- lib/app/app.dart | 2 +- lib/app/splash_page.dart | 1 - lib/main.dart | 12 +++++++++++- pubspec.yaml | 2 ++ 9 files changed, 39 insertions(+), 24 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 278de80..ca4f22f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - namespace "com.kouyuxingqiu.wow_english" + namespace "com.kouyuxingqiu.wowenglish" // compileSdkVersion flutter.compileSdkVersion compileSdkVersion 33 // 展示没有ndk需求 @@ -46,7 +46,7 @@ android { } defaultConfig { - applicationId "com.kouyuxingqiu.wow_english" + applicationId "com.kouyuxingqiu.wowenglish" //minSdkVersion flutter.minSdkVersion //targetSdkVersion flutter.targetSdkVersion minSdkVersion 23 diff --git a/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt b/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt index 4a5cd2d..f7fa602 100644 --- a/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt +++ b/android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt @@ -1,4 +1,4 @@ -package com.kouyuxingqiu.wow_english +package com.kouyuxingqiu.wowenglish import io.flutter.embedding.android.FlutterActivity diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 7c4b9f0..2174872 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -105,7 +105,6 @@ D8C046A1A9C279FDBB5C174E /* Pods-RunnerTests.release.xcconfig */, 48BCA0827DCB98991774F5AC /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -468,14 +467,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6537XPMMG6; + DEVELOPMENT_TEAM = T8P9KW8GWH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -647,14 +646,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6537XPMMG6; + DEVELOPMENT_TEAM = T8P9KW8GWH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -670,14 +669,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6537XPMMG6; + DEVELOPMENT_TEAM = T8P9KW8GWH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard index f3c2851..85a8697 100644 --- a/ios/Runner/Base.lproj/Main.storyboard +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -1,26 +1,29 @@ - - + + + - + + - + - + - + - + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 6f716b5..36d79e4 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -24,10 +26,14 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main + UIRequiresFullScreen + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait @@ -43,9 +49,5 @@ UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - diff --git a/lib/app/app.dart b/lib/app/app.dart index 292f38d..fee00e4 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -11,7 +11,7 @@ class App extends StatelessWidget { @override Widget build(BuildContext context) { return ScreenUtilInit( - designSize: const Size(375, 812), + designSize: const Size(667, 375), builder: (_,__) => MultiBlocProvider( providers: [ BlocProvider(create: (_)=> TabBloc()) diff --git a/lib/app/splash_page.dart b/lib/app/splash_page.dart index c0ac356..fdb5d92 100644 --- a/lib/app/splash_page.dart +++ b/lib/app/splash_page.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:wow_english/network/basic_configuration.dart'; import 'package:wow_english/route/route.dart'; diff --git a/lib/main.dart b/lib/main.dart index 7658098..1e5868e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,6 +1,16 @@ +import 'dart:io'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:limiting_direction_csx/limiting_direction_csx.dart'; import 'package:wow_english/app/app.dart'; -void main() { +void main() async{ + ///设置设备默认方向 + WidgetsFlutterBinding.ensureInitialized(); + if (Platform.isIOS) { + await LimitingDirectionCsx.setScreenDirection(DeviceDirectionMask.Landscape); + } else { + SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft,DeviceOrientation.landscapeRight]); + } runApp(const App()); } diff --git a/pubspec.yaml b/pubspec.yaml index 37c926d..a6b7d91 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -81,6 +81,8 @@ dependencies: permission_handler: ^10.2.0 # 网络状态监听 https://pub.dev/packages/connectivity_plus connectivity_plus: ^4.0.1 + # iOS设备方向控制 https://pub.dev/packages/limiting_direction_csx + limiting_direction_csx: ^0.2.0 dev_dependencies: build_runner: ^2.4.4 -- libgit2 0.22.2