2

我已经为横向模式创建了Android布局资源文件,适用于所有不同的屏幕尺寸,例如小,大,中等和特大,但是,当我运行该应用程序时,它不起作用风景模式作为按钮的一半,图像从屏幕上丢失。横向屏幕取向不适用于Android Studios

我还在android Manifest文件中包含了下面这行代码。

android:configChanges="orientation|screenSize|keyboardHidden" 

我已经将下面的内容包含在所有的活动java文件中,但仍然无法正常工作。

public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 

     if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { 
      Toast.makeText(getApplicationContext(), "Portrait Mode", Toast.LENGTH_SHORT).show(); 
     }else if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) { 
      Toast.makeText(getApplicationContext(), "Landscape Mode", Toast.LENGTH_SHORT).show(); 
     } 

Android确实将其切换到横向模式,但屏幕中的元素显示不正确。我创建了一个横向布局资源文件,但问题在于Android不使用此布局,因为它在纵向和横向模式下使用相同的布局。

请指教我如何让Android知道何时使用横向和纵向模式。

回答

2

使用这种在您的配置方法:

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     Intent intent = getIntent(); 
     finish(); 
     startActivity(intent); 
    } 
+0

无法解析Consts和当前。请指教? –

+0

我编辑答案,这是关于我的活动有额外的。 –

4

更改此:

android:configChanges="orientation|screenSize|keyboardHidden" 

这样:

android:configChanges="screenSize|keyboardHidden" 

随着第一条语句,你基本上告诉机器人不重建屏幕旋转时的活动!

+1

谢谢,这已经解决了我的问题。我犯的基本错误。感谢您的建议。 –

+0

如果我的答案帮助不要忘记接受它 –