Add ability to change default Android screen orientation.
This commit is contained in:
@@ -169,6 +169,30 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
|
|||||||
permissions += String::Format(TEXT("\n <uses-permission android:name=\"{0}\" />"), e.Item);
|
permissions += String::Format(TEXT("\n <uses-permission android:name=\"{0}\" />"), e.Item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Setup default Android screen orientation
|
||||||
|
auto defaultOrienation = platformSettings->DefaultOrientation;
|
||||||
|
String orientation = String("fullSensor");
|
||||||
|
switch (defaultOrienation)
|
||||||
|
{
|
||||||
|
case AndroidScreenOrientation::Portrait:
|
||||||
|
orientation = String("portrait");
|
||||||
|
break;
|
||||||
|
case AndroidScreenOrientation::PortraitReverse:
|
||||||
|
orientation = String("reversePortrait");
|
||||||
|
break;
|
||||||
|
case AndroidScreenOrientation::LandscapeRight:
|
||||||
|
orientation = String("landscape");
|
||||||
|
break;
|
||||||
|
case AndroidScreenOrientation::LandscapeLeft:
|
||||||
|
orientation = String("reverseLandscape");
|
||||||
|
break;
|
||||||
|
case AndroidScreenOrientation::AutoRotation:
|
||||||
|
orientation = String("fullSensor");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup Android application attributes
|
// Setup Android application attributes
|
||||||
String attributes;
|
String attributes;
|
||||||
if (data.Configuration != BuildConfiguration::Release)
|
if (data.Configuration != BuildConfiguration::Release)
|
||||||
@@ -223,6 +247,7 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
|
|||||||
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${PackageName}"), packageName);
|
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${PackageName}"), packageName);
|
||||||
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${ProjectVersion}"), projectVersion);
|
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${ProjectVersion}"), projectVersion);
|
||||||
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${AndroidPermissions}"), permissions);
|
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${AndroidPermissions}"), permissions);
|
||||||
|
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${DefaultOrientation}"), orientation);
|
||||||
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${AndroidAttributes}"), attributes);
|
EditorUtilities::ReplaceInFile(manifestPath, TEXT("${AndroidAttributes}"), attributes);
|
||||||
const String stringsPath = data.OriginalOutputPath / TEXT("app/src/main/res/values/strings.xml");
|
const String stringsPath = data.OriginalOutputPath / TEXT("app/src/main/res/values/strings.xml");
|
||||||
EditorUtilities::ReplaceInFile(stringsPath, TEXT("${ProjectName}"), gameSettings->ProductName);
|
EditorUtilities::ReplaceInFile(stringsPath, TEXT("${ProjectName}"), gameSettings->ProductName);
|
||||||
|
|||||||
@@ -9,6 +9,37 @@
|
|||||||
|
|
||||||
class Texture;
|
class Texture;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Android screen orientation options.
|
||||||
|
/// </summary>
|
||||||
|
API_ENUM() enum class FLAXENGINE_API AndroidScreenOrientation
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// "portrait" mode
|
||||||
|
/// </summary>
|
||||||
|
Portrait,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "reversePortrait" mode
|
||||||
|
/// </summary>
|
||||||
|
PortraitReverse,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "landscape" mode
|
||||||
|
/// </summary>
|
||||||
|
LandscapeRight,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "reverseLandscape" mode
|
||||||
|
/// </summary>
|
||||||
|
LandscapeLeft,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// "fullSensor" mode
|
||||||
|
/// </summary>
|
||||||
|
AutoRotation,
|
||||||
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Android platform settings.
|
/// Android platform settings.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -29,6 +60,12 @@ API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API
|
|||||||
API_FIELD(Attributes="EditorOrder(100), EditorDisplay(\"General\")")
|
API_FIELD(Attributes="EditorOrder(100), EditorDisplay(\"General\")")
|
||||||
Array<String> Permissions;
|
Array<String> Permissions;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The default screen orientation.
|
||||||
|
/// </summary>
|
||||||
|
API_FIELD(Attributes = "EditorOrder(110), EditorDisplay(\"General\")")
|
||||||
|
AndroidScreenOrientation DefaultOrientation = AndroidScreenOrientation::AutoRotation;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Custom icon texture to use for the application (overrides the default one).
|
/// Custom icon texture to use for the application (overrides the default one).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<activity android:name="com.flaxengine.GameActivity"
|
<activity android:name="com.flaxengine.GameActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||||
android:screenOrientation="fullSensor">
|
android:screenOrientation="${DefaultOrientation}">
|
||||||
<meta-data android:name="android.app.lib_name" android:value="FlaxGame" />
|
<meta-data android:name="android.app.lib_name" android:value="FlaxGame" />
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|||||||
Reference in New Issue
Block a user