Commit 4847e3dcd640375546d15989369a3ee4a592959c
1 parent
156efec9
feat:添加设备方向处理
Showing
9 changed files
with
39 additions
and
24 deletions
android/app/build.gradle
@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' | @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' | ||
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | 26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" |
27 | 27 | ||
28 | android { | 28 | android { |
29 | - namespace "com.kouyuxingqiu.wow_english" | 29 | + namespace "com.kouyuxingqiu.wowenglish" |
30 | // compileSdkVersion flutter.compileSdkVersion | 30 | // compileSdkVersion flutter.compileSdkVersion |
31 | compileSdkVersion 33 | 31 | compileSdkVersion 33 |
32 | // 展示没有ndk需求 | 32 | // 展示没有ndk需求 |
@@ -46,7 +46,7 @@ android { | @@ -46,7 +46,7 @@ android { | ||
46 | } | 46 | } |
47 | 47 | ||
48 | defaultConfig { | 48 | defaultConfig { |
49 | - applicationId "com.kouyuxingqiu.wow_english" | 49 | + applicationId "com.kouyuxingqiu.wowenglish" |
50 | //minSdkVersion flutter.minSdkVersion | 50 | //minSdkVersion flutter.minSdkVersion |
51 | //targetSdkVersion flutter.targetSdkVersion | 51 | //targetSdkVersion flutter.targetSdkVersion |
52 | minSdkVersion 23 | 52 | minSdkVersion 23 |
android/app/src/main/kotlin/com/kouyuxingqiu/wow_english/MainActivity.kt
ios/Runner.xcodeproj/project.pbxproj
@@ -105,7 +105,6 @@ | @@ -105,7 +105,6 @@ | ||
105 | D8C046A1A9C279FDBB5C174E /* Pods-RunnerTests.release.xcconfig */, | 105 | D8C046A1A9C279FDBB5C174E /* Pods-RunnerTests.release.xcconfig */, |
106 | 48BCA0827DCB98991774F5AC /* Pods-RunnerTests.profile.xcconfig */, | 106 | 48BCA0827DCB98991774F5AC /* Pods-RunnerTests.profile.xcconfig */, |
107 | ); | 107 | ); |
108 | - name = Pods; | ||
109 | path = Pods; | 108 | path = Pods; |
110 | sourceTree = "<group>"; | 109 | sourceTree = "<group>"; |
111 | }; | 110 | }; |
@@ -468,14 +467,14 @@ | @@ -468,14 +467,14 @@ | ||
468 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 467 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
469 | CLANG_ENABLE_MODULES = YES; | 468 | CLANG_ENABLE_MODULES = YES; |
470 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | 469 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; |
471 | - DEVELOPMENT_TEAM = 6537XPMMG6; | 470 | + DEVELOPMENT_TEAM = T8P9KW8GWH; |
472 | ENABLE_BITCODE = NO; | 471 | ENABLE_BITCODE = NO; |
473 | INFOPLIST_FILE = Runner/Info.plist; | 472 | INFOPLIST_FILE = Runner/Info.plist; |
474 | LD_RUNPATH_SEARCH_PATHS = ( | 473 | LD_RUNPATH_SEARCH_PATHS = ( |
475 | "$(inherited)", | 474 | "$(inherited)", |
476 | "@executable_path/Frameworks", | 475 | "@executable_path/Frameworks", |
477 | ); | 476 | ); |
478 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; | 477 | + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; |
479 | PRODUCT_NAME = "$(TARGET_NAME)"; | 478 | PRODUCT_NAME = "$(TARGET_NAME)"; |
480 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 479 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
481 | SWIFT_VERSION = 5.0; | 480 | SWIFT_VERSION = 5.0; |
@@ -647,14 +646,14 @@ | @@ -647,14 +646,14 @@ | ||
647 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 646 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
648 | CLANG_ENABLE_MODULES = YES; | 647 | CLANG_ENABLE_MODULES = YES; |
649 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | 648 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; |
650 | - DEVELOPMENT_TEAM = 6537XPMMG6; | 649 | + DEVELOPMENT_TEAM = T8P9KW8GWH; |
651 | ENABLE_BITCODE = NO; | 650 | ENABLE_BITCODE = NO; |
652 | INFOPLIST_FILE = Runner/Info.plist; | 651 | INFOPLIST_FILE = Runner/Info.plist; |
653 | LD_RUNPATH_SEARCH_PATHS = ( | 652 | LD_RUNPATH_SEARCH_PATHS = ( |
654 | "$(inherited)", | 653 | "$(inherited)", |
655 | "@executable_path/Frameworks", | 654 | "@executable_path/Frameworks", |
656 | ); | 655 | ); |
657 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; | 656 | + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; |
658 | PRODUCT_NAME = "$(TARGET_NAME)"; | 657 | PRODUCT_NAME = "$(TARGET_NAME)"; |
659 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 658 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
660 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | 659 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; |
@@ -670,14 +669,14 @@ | @@ -670,14 +669,14 @@ | ||
670 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 669 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
671 | CLANG_ENABLE_MODULES = YES; | 670 | CLANG_ENABLE_MODULES = YES; |
672 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | 671 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; |
673 | - DEVELOPMENT_TEAM = 6537XPMMG6; | 672 | + DEVELOPMENT_TEAM = T8P9KW8GWH; |
674 | ENABLE_BITCODE = NO; | 673 | ENABLE_BITCODE = NO; |
675 | INFOPLIST_FILE = Runner/Info.plist; | 674 | INFOPLIST_FILE = Runner/Info.plist; |
676 | LD_RUNPATH_SEARCH_PATHS = ( | 675 | LD_RUNPATH_SEARCH_PATHS = ( |
677 | "$(inherited)", | 676 | "$(inherited)", |
678 | "@executable_path/Frameworks", | 677 | "@executable_path/Frameworks", |
679 | ); | 678 | ); |
680 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.wowEnglish; | 679 | + PRODUCT_BUNDLE_IDENTIFIER = com.kouyuxingqiu.wowenglish; |
681 | PRODUCT_NAME = "$(TARGET_NAME)"; | 680 | PRODUCT_NAME = "$(TARGET_NAME)"; |
682 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 681 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
683 | SWIFT_VERSION = 5.0; | 682 | SWIFT_VERSION = 5.0; |
ios/Runner/Base.lproj/Main.storyboard
1 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"> | 1 | +<?xml version="1.0" encoding="UTF-8"?> |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> | ||
3 | + <device id="retina6_12" orientation="portrait" appearance="light"/> | ||
3 | <dependencies> | 4 | <dependencies> |
4 | <deployment identifier="iOS"/> | 5 | <deployment identifier="iOS"/> |
5 | - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/> | 6 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/> |
7 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||
6 | </dependencies> | 8 | </dependencies> |
7 | <scenes> | 9 | <scenes> |
8 | - <!--Flutter View Controller--> | 10 | + <!--Main View Controller--> |
9 | <scene sceneID="tne-QT-ifu"> | 11 | <scene sceneID="tne-QT-ifu"> |
10 | <objects> | 12 | <objects> |
11 | - <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController"> | 13 | + <viewController id="BYZ-38-t0r" customClass="MainViewController" sceneMemberID="viewController"> |
12 | <layoutGuides> | 14 | <layoutGuides> |
13 | <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> | 15 | <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> |
14 | <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> | 16 | <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> |
15 | </layoutGuides> | 17 | </layoutGuides> |
16 | <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> | 18 | <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> |
17 | - <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> | 19 | + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> |
18 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 20 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
19 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> | 21 | + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
20 | </view> | 22 | </view> |
21 | </viewController> | 23 | </viewController> |
22 | <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> | 24 | <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> |
23 | </objects> | 25 | </objects> |
26 | + <point key="canvasLocation" x="47" y="-2"/> | ||
24 | </scene> | 27 | </scene> |
25 | </scenes> | 28 | </scenes> |
26 | </document> | 29 | </document> |
ios/Runner/Info.plist
@@ -2,6 +2,8 @@ | @@ -2,6 +2,8 @@ | ||
2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | 2 | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
3 | <plist version="1.0"> | 3 | <plist version="1.0"> |
4 | <dict> | 4 | <dict> |
5 | + <key>CADisableMinimumFrameDurationOnPhone</key> | ||
6 | + <true/> | ||
5 | <key>CFBundleDevelopmentRegion</key> | 7 | <key>CFBundleDevelopmentRegion</key> |
6 | <string>$(DEVELOPMENT_LANGUAGE)</string> | 8 | <string>$(DEVELOPMENT_LANGUAGE)</string> |
7 | <key>CFBundleDisplayName</key> | 9 | <key>CFBundleDisplayName</key> |
@@ -24,10 +26,14 @@ | @@ -24,10 +26,14 @@ | ||
24 | <string>$(FLUTTER_BUILD_NUMBER)</string> | 26 | <string>$(FLUTTER_BUILD_NUMBER)</string> |
25 | <key>LSRequiresIPhoneOS</key> | 27 | <key>LSRequiresIPhoneOS</key> |
26 | <true/> | 28 | <true/> |
29 | + <key>UIApplicationSupportsIndirectInputEvents</key> | ||
30 | + <true/> | ||
27 | <key>UILaunchStoryboardName</key> | 31 | <key>UILaunchStoryboardName</key> |
28 | <string>LaunchScreen</string> | 32 | <string>LaunchScreen</string> |
29 | <key>UIMainStoryboardFile</key> | 33 | <key>UIMainStoryboardFile</key> |
30 | <string>Main</string> | 34 | <string>Main</string> |
35 | + <key>UIRequiresFullScreen</key> | ||
36 | + <true/> | ||
31 | <key>UISupportedInterfaceOrientations</key> | 37 | <key>UISupportedInterfaceOrientations</key> |
32 | <array> | 38 | <array> |
33 | <string>UIInterfaceOrientationPortrait</string> | 39 | <string>UIInterfaceOrientationPortrait</string> |
@@ -43,9 +49,5 @@ | @@ -43,9 +49,5 @@ | ||
43 | </array> | 49 | </array> |
44 | <key>UIViewControllerBasedStatusBarAppearance</key> | 50 | <key>UIViewControllerBasedStatusBarAppearance</key> |
45 | <false/> | 51 | <false/> |
46 | - <key>CADisableMinimumFrameDurationOnPhone</key> | ||
47 | - <true/> | ||
48 | - <key>UIApplicationSupportsIndirectInputEvents</key> | ||
49 | - <true/> | ||
50 | </dict> | 52 | </dict> |
51 | </plist> | 53 | </plist> |
lib/app/app.dart
@@ -11,7 +11,7 @@ class App extends StatelessWidget { | @@ -11,7 +11,7 @@ class App extends StatelessWidget { | ||
11 | @override | 11 | @override |
12 | Widget build(BuildContext context) { | 12 | Widget build(BuildContext context) { |
13 | return ScreenUtilInit( | 13 | return ScreenUtilInit( |
14 | - designSize: const Size(375, 812), | 14 | + designSize: const Size(667, 375), |
15 | builder: (_,__) => MultiBlocProvider( | 15 | builder: (_,__) => MultiBlocProvider( |
16 | providers: [ | 16 | providers: [ |
17 | BlocProvider<TabBloc>(create: (_)=> TabBloc()) | 17 | BlocProvider<TabBloc>(create: (_)=> TabBloc()) |
lib/app/splash_page.dart
1 | -import 'package:flutter/foundation.dart'; | ||
2 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
3 | import 'package:wow_english/network/basic_configuration.dart'; | 2 | import 'package:wow_english/network/basic_configuration.dart'; |
4 | import 'package:wow_english/route/route.dart'; | 3 | import 'package:wow_english/route/route.dart'; |
lib/main.dart
1 | +import 'dart:io'; | ||
1 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
3 | +import 'package:flutter/services.dart'; | ||
4 | +import 'package:limiting_direction_csx/limiting_direction_csx.dart'; | ||
2 | import 'package:wow_english/app/app.dart'; | 5 | import 'package:wow_english/app/app.dart'; |
3 | 6 | ||
4 | -void main() { | 7 | +void main() async{ |
8 | + ///设置设备默认方向 | ||
9 | + WidgetsFlutterBinding.ensureInitialized(); | ||
10 | + if (Platform.isIOS) { | ||
11 | + await LimitingDirectionCsx.setScreenDirection(DeviceDirectionMask.Landscape); | ||
12 | + } else { | ||
13 | + SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft,DeviceOrientation.landscapeRight]); | ||
14 | + } | ||
5 | runApp(const App()); | 15 | runApp(const App()); |
6 | } | 16 | } |
pubspec.yaml
@@ -81,6 +81,8 @@ dependencies: | @@ -81,6 +81,8 @@ dependencies: | ||
81 | permission_handler: ^10.2.0 | 81 | permission_handler: ^10.2.0 |
82 | # 网络状态监听 https://pub.dev/packages/connectivity_plus | 82 | # 网络状态监听 https://pub.dev/packages/connectivity_plus |
83 | connectivity_plus: ^4.0.1 | 83 | connectivity_plus: ^4.0.1 |
84 | + # iOS设备方向控制 https://pub.dev/packages/limiting_direction_csx | ||
85 | + limiting_direction_csx: ^0.2.0 | ||
84 | 86 | ||
85 | dev_dependencies: | 87 | dev_dependencies: |
86 | build_runner: ^2.4.4 | 88 | build_runner: ^2.4.4 |