横向模式在Android Studio中不起作用

时间:2016-03-02 21:46:01

标签: java android android-layout landscape landscape-portrait

我为所有不同的屏幕尺寸(例如小型,大型,中型和超大型)创建了用于Landcape模式的Android布局资源文件,但是,当我运行应用程序时,它在横向模式下不能作为按钮的一半,屏幕上缺少图像。

我还在android Manifest文件中包含了以下行。

android:configChanges="keyboardHidden|orientation|screenSize"

请告知我如何使用andriod了解何时使用横向和纵向模式。

3 个答案:

答案 0 :(得分:1)

这是因为您添加了lockForUpdate()  在您的清单中,这意味着不会发生方向更改,因此您的横向布局永远不会初始化。默认情况下,android行为是当移动移动时,当前活动被销毁并且创建新活动。 删除该行并尝试

答案 1 :(得分:0)

在活动的java文件中,您可以识别出处于横向模式还是纵向模式。

    int orientation = getResources().getConfiguration().orientation;

    if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
        //do something
    } else {
        //do something
    }

答案 2 :(得分:0)

好吧我举个例子.....我的布局中有一个imageview。当我进入肖像模式时,它会设置一个图像。当我进入横向模式时,它会变为另一个图像。

ImageView headerimage= (ImageView) findViewById( R.id.headerimage);
int orientation = getResources().getConfiguration().orientation;

if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
    headerimage.setBackgroundResource(R.drawable.splash_icon_landscape);
} else {
    headerimage.setBackgroundResource (R.drawable.splash_icon_portrait);
}