如何在键盘启动时禁用缩放线性布局

时间:2014-07-30 13:18:09

标签: android xml android-linearlayout

我是android api的初学者,我想在键盘启动时不缩放我的线性布局。就像在滚动视图中一样。这可以在xml中完成吗? 谢谢你的帮助; - )

编辑: 这是我的xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:weightSum="10"
    android:background="@drawable/bg_home"
    android:gravity="center_vertical|center_horizontal">
    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="8"
        android:weightSum="7"
        android:gravity="center_vertical|center_horizontal">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/logo"/>
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:text="@string/login_label"
            android:textColor="@color/gray"
            android:background="@drawable/input"
            />
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:text="@string/password"
            android:textColor="@color/gray"
            android:background="@drawable/input"/>

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:background="@drawable/login_button"
            android:text="@string/login"
            android:textColor="@color/white"/>

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:text="@string/reminder"
            android:textColor="@color/white"
            android:background="@android:color/transparent"/>
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>
        <Button
            android:layout_width="200dp"
            android:layout_height="55dp"
            android:background="@drawable/register_button"
            android:text="@string/register"
            android:textColor="@color/white"
            />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:gravity="center_vertical|right">
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/go"
                android:textColor="@color/white"
                android:background="@android:color/transparent"
                android:gravity="center_vertical|right"
                android:paddingRight="5dp"/>
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="right"
                android:textColor="@color/white"
                android:src="@drawable/right"
                android:adjustViewBounds="true"/>
        </LinearLayout>
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:layout_weight="1"/>
    </LinearLayout>
    <ImageView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml文件中尝试使用此功能

android:windowSoftInputMode="adjustPan" 

&#34; adjustResize&#34;

活动的主窗口始终调整大小,以便为屏幕上的软键盘腾出空间。

&#34; adjustPan&#34;

活动的主窗口未调整大小以便为软键盘腾出空间。

答案 1 :(得分:0)

在你的清单中的Activity中放置android:windowSoftInputMode =“adjustNothing”或android:windowSoftInputMode =“adjustPan”。

答案 2 :(得分:0)

您正在寻找android:windowSoftInputMode,但它适用于整个Activity。没有办法以类似的方式控制单独的ViewGroup

  

活动的主窗口如何与窗口交互   包含屏幕上的软键盘。此属性的设置   影响两件事:软键盘的状态 - 是否是   隐藏或可见 - 当活动成为用户的焦点时   注意。调整活动的主窗口 - 是否   它被调整为较小,以便为软键盘腾出空间或是否   其内容平移以使当前焦点在部分时可见   窗口被软键盘覆盖。