1

找到了类似的问题,但找不到最佳答案。如何解决android中键盘显示和横向屏幕上的布局问题?以下是出现问题的图像。初始布局

以上是原版图

在屏幕上的键盘下方

键盘后布局

在键盘后的第二张图片布局中,缺少半个按钮并且缺少登录文本视图

请帮助我如何解决这个问题?

这是第三张图

横向屏幕布局

在横向缺少按钮和文本视图时出现问题并且没有得到任何滚动。

这是代码

<?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你能回答这个问题吗?

4

2 回答 2

2

如果您希望它可滚动,请将整个布局包装在ScrollView. 正如@AbdulHannan 在他的回答中提到的那样,您可以在 AndroidManifest 中定义首选行为(调整大小与平移),或者在 onCreate() 中以编程方式定义(但不能在两者中定义——这是多余的)。如果您只是将它包装在 ScrollView 中,Android 将自动使用adjustResize来调整您的窗口大小,假设您的 ScrollView 将适当地处理大小更改并且可以为用户滚动。

侧面设计建议:背景非常华丽;如果需要图案,请尝试使图案更加微妙。

于 2013-02-19T18:57:52.707 回答
0

在您的Manifest.xml, 在您的下方<activity>包含此内容,
android:windowSoftInputMode="stateVisible|adjustResize|adjustPan
并在您的onCreate()中添加此内容:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);如果您希望在Activity创建时隐藏键盘。

于 2013-02-19T18:51:58.353 回答