我如何禁用景观模式的一些观点在我的Android应用程序?
当前回答
这里的很多答案都建议在AndroidManifest.xml文件中使用“portrait”。这似乎是一个很好的解决方案-但正如文档中所指出的那样,您正在挑出可能只有横屏的设备。你还强迫某些设备(在横屏下工作得最好)进入竖屏,而没有得到正确的方向。
我的建议是用“nosensor”代替。这将使设备使用其默认的首选方向,不会阻止谷歌Play上的任何购买/下载,并将确保传感器不会破坏你的游戏(在我的情况下是NDK)。
其他回答
在阅读这篇文章之前,我不知道AndroidManifest.xml文件开关,所以在我的应用程序中,我使用了这个代替:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Fixed portrait orientation
在<apphome>/platform/android目录下,创建AndroidManifest.xml(从生成的目录中复制它)。
然后添加android:screenOrientation="portrait"到所有的活动元素。
你可以通过在manifest.xml文件中这样写来强制你的特定活动始终保持纵向模式:
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"></activity>
你也可以通过在你的活动的onCreate()方法中写入下面的行来强制你的活动保持在纵向模式:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
如果你不想经历在每个活动清单条目中添加方向的麻烦,创建一个BaseActivity类(继承' activity '或'AppCompatActivity'),它将被你的应用程序的每个活动继承,而不是' activity '或'AppCompatActivity',只需在你的BaseActivity中添加以下代码段:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// rest of your code......
}
<android . . . >
. . .
<manifest . . . >
. . .
<application>
<activity
android:name=".MyActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation">
</activity>
</application>
</manifest>
</android>
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件