【问题标题】:Landscape Mode not working in Android Studio横向模式在 Android Studio 中不起作用
【发布时间】:2016-03-02 21:46:00
【问题描述】:

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

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

android:configChanges="keyboardHidden|orientation|screenSize"

请告知我如何让安卓知道何时使用横向和纵向模式。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

          int orientation = getResources().getConfiguration().orientation;
      
          if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
              //do something
          } else {
              //do something
          }
      

      【讨论】:

      • 放在 setContentView(R.layout.activity_home); 之后的任何地方
      • 仍然不能工作,只能在纵向模式下工作。我还为每种模式创建了布局资源文件夹。请进一步告知?
      【解决方案3】:

      好的,我举个例子.....我的布局中有一个 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);
      }
      

      【讨论】:

      • 我想将所有文件的全部内容设置为横向模式和纵向模式。不是他们更容易的方法,因为我需要为我的所有元素添加此代码。我已经创建了android布局资源文件,为什么它不起作用。
      • 它应该可以工作。给我一个你的纵向和横向 xml 布局的示例版本
      • 完成,我现在添加了横向和纵向布局文件。
      • 这对我没有帮助,因为我仍然无法找到解决方案。
      猜你喜欢
      • 2020-01-09
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多