2016-12-05 78 views
0

我在android系統相對較新,我創建了一個相當複雜的佈局(與AndroidStudio 2.1.3;下面列出),在下列情況下正常工作:如何修復Android中的橫向佈局問題?

  • 在真正的手機在肖像模式( LG G3)。
  • AndroidStudio使用肖像模式
  • AndroidStudio爲風景模式

然而,當我打開真正的手機90度(真正的手機橫屏模式),佈局是不正確的,如下所示:

enter image description here

而預期的佈局(如在AndroidStudio示出)的如下:

enter image description here

當我打了電話上的「返回」鍵,我看到預計的佈局,但只要我對任何字段中輸入數據,佈局變得不正確。

如何修復真實手機的佈局?

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> 
+0

您需要在線性或相對視圖組中顯示所有視圖,並將該視圖組放在滾動視圖中,以便在鍵盤顯示時可以通過滾動查看所有視圖 –

+0

是否還想在肖像上運行您的應用程序風景模式?如果你想只肖像模式不僅僅是把機器人:screenOrientation =清單文件「肖像」 activtity標籤內 如同<活動 機器人:名字=「fffffffffffffffffffffffffff」 機器人:標籤=「@字符串/ APP_NAME」 機器人: screenOrientation =「portrait」> –

+0

@sushantgosavi:我試過了你的建議,但我看不到應用程序行爲的改變。 – Alex

回答

1

有幾種方法可以做到這一點:

您可以在EditText意見加入這段代碼。

android:imeOptions="flagNoExtractUi" 

OR

android:imeOptions="flagNoFullscreen" 

這將防止軟鍵盤在全屏編輯彈出。有時第一個選項不起作用。

否則,您可以在Manifest.xml文件的活動中添加此代碼。

android:windowSoftInputMode="adjustPan" 

您可以從中獲得更多幫助here

+0

看起來像第一個建議實際上可以解決問題。佈局看起來仍然像廢話,但現在我要解決... – Alex

+0

@亞歷克斯很高興幫助。當然佈局在你現在修改。 – AlphaQ