2013-02-19 183 views
1

找到類似的問題,但無法找到最佳答案。 如何解決在android鍵盤顯示和橫向屏幕上的佈局問題? 下面是發生問題的圖像。 Initial layouot鍵盤顯示屏和橫向屏幕上的佈局扭曲

以上是原來的佈局

低於其鍵盤後,屏幕上

layout after keyboard

在鍵盤後的第2個畫面佈局,半按鈕丟失和TextView的標誌是缺少

請幫助我如何解決這個問題?

這裏是第三畫面

layout with landscape screen

上橫向 有問題,缺少這兩個按鈕的TextView並沒有得到任何滾動。

下面是代碼

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
android:background="@drawable/background" 
android:padding="20dp" 
android:paddingEnd="0dp" 
android:scrollbars="vertical|horizontal" 
> 

<ImageView 
    android:layout_height="wrap_content" 
    android:src="@drawable/logo" 
    /> 
<TableRow 
    android:id="@+id/tableRow2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    android:layout_marginTop="15dp"> 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:ems="10" 
     android:layout_weight="1" 
     android:hint="Full Name" 
     android:textSize="16sp" 
     android:background="@drawable/radius" 
     android:inputType="textPersonName" 
     android:paddingLeft="10dp" > 
     <requestFocus /> 
     </EditText> 

</TableRow> 
<TableRow 
    android:id="@+id/tableRow2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    > 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:ems="10" 
     android:layout_weight="1" 
     android:hint="Username" 
     android:textSize="16dp" 
     android:background="@drawable/radius" 
     android:paddingLeft="10dp" 
     android:layout_marginBottom="15dp" 
     android:layout_marginTop="15dp" 
     android:inputType="textPersonName" /> 

</TableRow> 
<TableRow 
    android:id="@+id/tableRow1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    > 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_weight="1" 
     android:layout_height="40dp" 
     android:ems="10" 
     android:textSize="16sp" 
     android:hint="Email" 
     android:background="@drawable/radius" 
     android:inputType="textEmailAddress" 
     android:paddingLeft="10dp" 
     /> 

</TableRow> 

<TableRow 
    android:id="@+id/tableRow2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal" 
    > 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="match_parent" 
     android:layout_height="40dp" 
     android:ems="10" 
     android:layout_weight="1" 
     android:hint="Password" 
     android:textSize="16sp" 
     android:layout_marginTop="15dp" 
     android:background="@drawable/radius" 
     android:inputType="textPassword" 
     android:paddingLeft="10dp"/> 

</TableRow> 

<TableRow 
    android:id="@+id/tableRow3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="20dp" > 

    <Button 
     android:id="@+id/button1" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="fill_parent" 
     android:layout_height="40dp" 
     android:background="@drawable/button_bg" 
     android:text="Register" 
     android:layout_weight="1" 
     android:layout_margin="2dp" 
     android:textColor="#FFF"/> 

</TableRow> 

<TableRow 
    android:id="@+id/tableRow4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="bottom|center" > 

    <TextView 
    android:id="@+id/signIn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal|bottom|center" 
    android:linksClickable="true" 
    android:textColor="#FFF" 
    android:text="Sign In to addressbook" 
    /> 

</TableRow> 


</TableLayout> 

請幫我將非常感謝您 你好@Sam你能回答這個問題,請

回答

2

如果您希望它可滾動,請將您的整個佈局包裝在ScrollView中。正如@AbdulHannan在他的回答中提到的那樣,您可以在AndroidManifest中定義首選行爲(調整大小與泛),或者在onCreate()中編程定義首選行爲(但不是兩者都是 - 這是多餘的)。如果您只是將其包裝在ScrollView中,Android會自動使用adjustResize來調整窗口大小,假設您的ScrollView將適當地處理尺寸更改並可供用戶滾動。

側面設計建議:背景非常豔麗;如果模式是必要的,嘗試使模式更加微妙。

+0

Scrollview沒有工作我不知道爲什麼, 和我不想要佈局的內容上的鍵盤我想佈局像Facebook應用程序中的應用程序,如鍵盤出現時整個佈局內容自動調整。 仍然在橫向屏幕上出現問題:( 請幫助 – 2013-02-19 19:11:55

0

在你Manifest.xml,在你<activity>包括這個,如果你想牛逼
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
android:windowSoftInputMode="stateVisible|adjustResize|adjustPan
並在onCreate(),添加此只要創建了Activity,他就會隱藏鍵盤。

+0

Scrollview did not works我不知道爲什麼,我不想要佈局的內容上的鍵盤我想佈局如Facebook應用程序中的佈局,如鍵盤出現時整個佈局內容自動調整。並仍然在景觀屏幕上出現問題:(請幫助 – 2013-02-19 19:18:04