我已经阅读了我可以在这个和其他网站上找到的每个帖子,并按照建议进行了阅读,但是在最简单的实现中,当物理上处于横向方向时,我无法将Note 5设置为纵向模式。 我将建议的行添加到清单文件中,重建并且应用程序以横向模式启动。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.twistlogic.miwidget">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我也尝试用代码执行此操作,这是我的主要目的:
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
没有产生任何效果。
我正在尝试学习Android,所以我理解这可能是因为我的知识有限。我要做的是修复方向并将其锁定在那里,然后仅在用户按下按钮时才允许更改方向。我确实读过屏幕尺寸必须在API 13之后设置。但我不确定如何这样做。我在创建项目时使用基本活动中的片段模板屏幕。
感谢您的帮助。
答案 0 :(得分:0)
这可以在Main Activity中设置我没有尝试在Manifest中设置它是一行代码和几行编写测试好的这里是最后的Manifest代码
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
int orientation = getResources().getConfiguration().orientation;
if(orientation == Configuration.ORIENTATION_PORTRAIT){
}else if(orientation == Configuration.ORIENTATION_LANDSCAPE){}
在主要活动后的清单文件中粘贴到下面的行。
机器人:screenOrientation = “纵向”
我没有在Manifest文件中测试此代码