当我将屏幕从纵向模式更改为陆地景观模式时,会自动从我的应用程序中显示出来(同样也可以从横向到纵向),任何人都可以告诉我这个解决方案..
这是我的方向代码,
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(MyAlphabetsActivity.this, "ORIENTATION_PORTRAIT",
Toast.LENGTH_SHORT).show();
setContentView(R.layout.portrait_main);
System.out.println("int-----1--");
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.landscape_main);
Toast.makeText(MyAlphabetsActivity.this, "ORIENTATION_LANDSCAPE",
Toast.LENGTH_SHORT).show();
System.out.println("int-----2--");
}
将肖像更改为横向控制时输入其他if()并显示Toast按摩.......
答案 0 :(得分:1)
您错误地处理了方向更改。您应该阅读Handling Runtime Changes指南。也请考虑this。
答案 1 :(得分:1)
如果您在portrait
模式和landscape
模式下具有相同的布局,那么最好通过添加
android:configChanges="orientation|keyboardHidden"
属性。
答案 2 :(得分:0)
您有两种选择:要么以单一模式阻止应用程序:纵向或横向。 第二个选项是创建两个布局:layout-land和layout-portrait 拥有两种不同的布局是不正确的。它只是不起作用。 您必须拥有res文件夹中的文件夹。一个文件夹layout-land,你有main.xml 还有一个文件夹布局 - 肖像,其中有一个名为main.xml的文件,处理纵向模式。
答案 3 :(得分:0)
int o = getBaseContext().getResources().getConfiguration().orientation;
if(o==1)//Portrait
{
Log.i("Portrait","=====");
}
else if(o==2)//Landscape
{
Log.i("Landscape","=====");
}