如何解决 android 中横向布局的问题?
How to fix issues with landscape layout in android?
我是 android 的新手,我创建了一个相当复杂的布局(使用 AndroidStudio
2.1.3;如下所列),在以下情况下效果很好:
- 在真实的 phone 纵向模式下 (LG G3)。
- 在
AndroidStudio
中为人像模式
- 在
AndroidStudio
横向模式
然而,当我把真实的 phone 旋转 90 度(真实的 phone 横向模式)时,布局不正确,如下所示:
而预期的布局(如AndroidStudio
所示)如下:
当我按下 phone 上的 'return' 键时,我看到了预期的布局,但是当我要在任何字段中输入数据时,布局就会变得不正确。
如何修复真正的布局phone?
参见 the layout here 和这里的 Manifest
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alexander.inputlayoutscroll">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:windowSoftInputMode="stateVisible|adjustResize"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
有两种方法可以做到:
您可以在 EditText
视图中添加这段代码。
android:imeOptions="flagNoExtractUi"
或
android:imeOptions="flagNoFullscreen"
这样可以防止在全屏编辑时弹出软键盘。有时第一个选项不起作用。
否则您可以将此代码添加到 Manifest.xml
文件中的 activity。
android:windowSoftInputMode="adjustPan"
您可以获得更多帮助here。
我是 android 的新手,我创建了一个相当复杂的布局(使用 AndroidStudio
2.1.3;如下所列),在以下情况下效果很好:
- 在真实的 phone 纵向模式下 (LG G3)。
- 在
AndroidStudio
中为人像模式 - 在
AndroidStudio
横向模式
然而,当我把真实的 phone 旋转 90 度(真实的 phone 横向模式)时,布局不正确,如下所示:
而预期的布局(如AndroidStudio
所示)如下:
当我按下 phone 上的 'return' 键时,我看到了预期的布局,但是当我要在任何字段中输入数据时,布局就会变得不正确。
如何修复真正的布局phone?
参见 the layout here 和这里的 Manifest
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alexander.inputlayoutscroll">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:windowSoftInputMode="stateVisible|adjustResize"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
有两种方法可以做到:
您可以在 EditText
视图中添加这段代码。
android:imeOptions="flagNoExtractUi"
或
android:imeOptions="flagNoFullscreen"
这样可以防止在全屏编辑时弹出软键盘。有时第一个选项不起作用。
否则您可以将此代码添加到 Manifest.xml
文件中的 activity。
android:windowSoftInputMode="adjustPan"
您可以获得更多帮助here。