如何防止自定义对话框中的软键盘隐藏按钮?

时间:2017-06-07 10:54:44

标签: android

我有一个自定义对话框,如下所示  enter image description here

当软键盘出现时,它会像下面一样隐藏按钮。

enter image description here

我的代码

https://mcaf.ee/9qhnef

如何避免提交按钮被隐藏?我已经添加了autoresize和auto pan但到目前为止没有运气。

5 个答案:

答案 0 :(得分:0)

在一个线性布局中添加整个属性并放入滚动视图。我希望这能帮助你。

答案 1 :(得分:0)

你可以试试这个

dialog.getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

或在xml中你可以改变这个

机器人:可聚焦= “真”  机器人:focusableInTouchMode = “真”

答案 2 :(得分:0)

当我必须实现一个高度匹配几乎与屏幕高度匹配的反馈对话框时,我也遇到了同样的问题。您需要将ScrollView添加到xml文件中的视图的父布局,例如

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    //your content View goes here

  </ScroolView>

然后在片段中膨胀视图后, 在你的onCreateView上试试这个:

 getDialog().getWindow()
.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

SOFT_INPUT_ADJUST_RESIZE就像在清单文件中定义的活动一样。希望这会有所帮助。

答案 3 :(得分:0)

  

使用以下xml更新你的Linked Xml,我已经测试了。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#1260C5"
    android:orientation="vertical">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:alpha=".85">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:alpha=".5"
                android:gravity="center"
                android:orientation="vertical">

                <ImageButton
                    android:id="@+id/imgNotificationClose"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:background="#00000000"
                    android:scaleType="fitCenter"
                    android:src="@mipmap/ic_launcher" />

                <TextView
                    android:id="@+id/txtNotification"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:text="CHANGE PASSWORD"
                    android:textAppearance="@style/TextAppearance.AppCompat.Large"
                    android:textSize="36sp"
                    android:visibility="gone" />

            </LinearLayout>


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:gravity="top"
                android:orientation="vertical">


                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"

                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:gravity="left|center"
                    android:text="Email"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/old_email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="15dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:background="#FFFFFF"
                    android:focusable="false"
                    android:padding="10dip"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"

                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:gravity="left|center"
                    android:text="Old Password"
                    android:textStyle="bold" />


                <EditText
                    android:id="@+id/password_change_edit_password_current_pass"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="15dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:background="#FFFFFF"
                    android:inputType="textPassword"
                    android:padding="10dip"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"

                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:gravity="left|center"
                    android:text="New Password"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/password_change_edit_password_new_pass"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="15dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:background="#FFFFFF"
                    android:ems="10"
                    android:inputType="textPassword"

                    android:padding="10dip"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"

                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:gravity="left|center"
                    android:text="Confirm New Password"
                    android:textSize="14sp"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/password_change_edit_password_confirm_pass"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="15dp"
                    android:layout_marginLeft="20dp"
                    android:layout_marginRight="20dp"
                    android:background="#FFFFFF"
                    android:ems="10"
                    android:inputType="textPassword"

                    android:padding="10dip"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:textColor="#000000"
                    android:textSize="14sp" />


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:layout_marginTop="10dp"
                    android:orientation="horizontal">

                    <ImageView
                        android:id="@+id/img_alert"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@mipmap/ic_launcher"
                        android:visibility="invisible" />


                    <TextView
                        android:id="@+id/password_change_validation_status"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text=""
                        android:textColor="#BEB2D1"
                        android:textSize="14sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </LinearLayout>


        </LinearLayout>
    </ScrollView>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0">

        <Button
            android:id="@+id/password_change_btn_password_submit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:paddingLeft="30dp"
            android:paddingRight="30dp"
            android:text="Submit"
            android:textColor="#FFFFFF"
            android:textSize="18sp" />

    </RelativeLayout>

</LinearLayout>

答案 4 :(得分:-1)

我有类似的问题,我发现问题是因为它是全屏。尝试从styles.xml

删除(如果有的话)
 <item name="android:windowFullscreen">true</item>