当输入键盘可见时,按钮页脚不起作用

时间:2016-12-27 09:30:06

标签: android keyboard soft-keyboard

我的活动顶部有两个editText,活动中有两个buttons

当我按下其中一个编辑文本时,键盘显示为页脚adjustResize。这是我想要的行为。

我的问题是,当我尝试按下其中一个buttons时(当键盘可见时)键盘被隐藏,按下按钮的动作不起作用。

我的问题是,当活动中键盘可见时,如何保持页脚正常工作。

我在清单中的活动:

 <activity
        android:name=".activity.InitSessionActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize" />

我根据这个答案的解决方案创建了我的活动: How to adjust layout when soft keyboard appears

我的活动xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="match_parent"
    android:layout_height="match_parent"
    style="@style/screen"
    android:fillViewport="true"
    android:background="@color/colorPrimary"
    android:layout_alignParentBottom="true"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        style="@style/screen"
        android:id="@+id/ly_general"
        android:fitsSystemWindows="true">

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/inputTextLayout"
            android:layout_marginTop="172dp"
            app:hintTextAppearance="@style/edittextWithTextInputLayout"
            android:layout_centerHorizontal="true"
            android:id="@+id/textInputLayout">

        </android.support.design.widget.TextInputLayout>


        <include layout="@layout/footer" />

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/inputTextLayout"
            app:hintTextAppearance="@style/edittextWithTextInputLayout"
            android:id="@+id/textInputLayoutEmail"
            android:layout_below="@+id/text_init_session"
            android:layout_marginTop="@dimen/padding_10">

            <EditText
                android:id="@+id/login_ed_email"
                android:layout_width="314dp"
                android:layout_height="wrap_content"
                android:hint="@string/login_hint_email"
                android:drawablePadding="5dp"
                android:inputType="textEmailAddress"
                android:textColorHint="@color/white3"
                style="@style/edittextWithTextInputLayout"
                android:transitionName="@string/email"
                android:nextFocusDown="@+id/login_ed_password"
                android:layout_marginTop="9dp"
                android:layout_below="@+id/text_init_session"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:backgroundTint="@color/secundary_foreground" />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            style="@style/inputTextLayout"
            app:hintTextAppearance="@style/edittextWithTextInputLayout"
            android:id="@+id/textInputLayout2"
            android:layout_marginTop="16dp"
            android:layout_below="@+id/textInputLayoutEmail">

            <EditText
                android:id="@+id/login_ed_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Contraseña"
                android:textColorHint="@color/colorPrimary"
                style="@style/edittextWithTextInputLayout"
                android:transitionName="@string/password"
                android:drawableLeft="@drawable/login_ico_password"
                android:drawablePadding="5dp"
                android:nextFocusDown="@+id/login_btn_enter"
                android:nextFocusUp="@+id/login_ed_email"
                android:inputType="textPassword"
                android:backgroundTint="@color/secundary_foreground" />
        </android.support.design.widget.TextInputLayout>

        <TextView
            android:id="@+id/login_tx_forgot"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:textColor="@color/secundary_foreground"
            android:padding="@dimen/margin_13"
            android:text="@string/login_forgot_password"
            android:layout_below="@+id/textInputLayout2"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="@dimen/padding_16"/>

        <TextView
            android:text="@string/login_title_init_session"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/white"
            android:padding="10dp"
            android:textSize="@dimen/text_size_22"
            android:id="@+id/text_init_session"
            android:layout_marginTop="17dp"
            android:layout_marginLeft="@dimen/padding_13"
            android:layout_below="@+id/image"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

        <ImageView
            android:id="@+id/image"
            android:layout_width="134dp"
            android:layout_height="45dp"
            android:src="@drawable/logo_loycus_new"
            android:layout_alignParentTop="true"
            android:layout_alignLeft="@+id/textInputLayoutEmail"
            android:layout_alignStart="@+id/textInputLayoutEmail" />

    </RelativeLayout>
</ScrollView>

Foter:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/footer"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:gravity="center"
    android:background="@color/colorPrimary">

    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="@color/backgroundScreens"
        android:id="@+id/view"/>

    <Button
        android:text="@string/volver"
        android:textAllCaps="false"
        android:layout_width="@dimen/button_folder_widht"
        android:layout_height="@dimen/button_folder_height"
        android:id="@+id/buttonComeBack"
        android:background="@drawable/btn_selecto_come_back"
        android:textColor="@color/white"
        android:layout_marginLeft="@dimen/margin_16"
        android:layout_marginTop="@dimen/padding_10"/>

    <Button
        android:layout_marginTop="@dimen/padding_10"
        android:text="@string/enter"
        android:textAllCaps="false"
        android:layout_width="@dimen/button_folder_widht"
        android:layout_height="@dimen/button_folder_height"
        android:background="@drawable/btn_selector_green"
        android:textColor="@color/colorPrimary"
        android:id="@+id/login_loycus"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="@dimen/margin_16"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

将您的页脚编辑为: -

<include layout="@layout/footer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />

从ScrollView中删除它

android:layout_alignParentBottom="true" 

从具有id ly_general

的相对布局中删除它
android:fitsSystemWindows="true" 

将此添加到scrollview

android:fitsSystemWindows="true" 

编辑: -

如果您不想将页脚对齐到底部,请删除此行

android:layout_alignParentBottom="true"

并在您想要将其放置在用户界面上的任何位置进行调整。

答案 1 :(得分:0)

我刚用我写的脚注

尝试了你的xml

&#13;
&#13;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="40dp"
              android:layout_alignParentBottom="true"
                android:background="@android:color/black">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 1"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 2"/>

</LinearLayout>
&#13;
&#13;
&#13;

一切似乎都运转良好。 你能解释一下这个问题吗?或发布您的代码/页脚?