2013-02-19 135 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