2016-03-02 171 views
1

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

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

android:configChanges="keyboardHidden|orientation|screenSize" 

请教我如何让andriod意识到何时使用横向和纵向模式。

回答

0

在活动的java文件中,这是如何识别您是否处于横向模式或纵向模式。

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

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

仍然无法正常工作。请进一步咨询? –

+0

放在setContentView(R.layout.activity_home)之后的任何位置; –

+0

仍然无法正常工作,只能在纵向模式下使用。我也为每种模式创建了布局资源文件夹。请进一步咨询? –

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); 
} 
+0

我想将所有文件的全部内容制作为横向模式以及纵向模式。是他们没有更简单的方法,因为我需要为我的所有元素添加此代码。我已经创建了android布局资源文件,所以为什么这样做不起作用。 –

+0

它应该工作。给我一个样本版本的肖像和风景xml布局 –

+0

完成后,我现在添加了我的风景和肖像布局文件。 –

1

这是发生,因为你在你的清单添加android:configChanges="keyboardHidden|orientation|screenSize" 这意味着不会发生方向改变,因此您的景观布局永远不会被初始化。默认情况下,android的行为是当移动设备被旋转时,当前活动被破坏并且创建新的活动。 删除该行并尝试

相关问题