Android - 如何在软键盘出现时调整弹出窗口

Posted

技术标签:

【中文标题】Android - 如何在软键盘出现时调整弹出窗口【英文标题】:Android - How to adjust a popup when the soft keyboard shows up 【发布时间】:2015-07-24 12:39:39 【问题描述】:

我想在我的布局中复制这种效果。但是在我的布局中,当键盘出现时,我的弹出窗口没有调整。 该设备调整了我下面的主要活动,而不是弹出窗口。

这是我的弹出 layout.xml :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_
android:background="@drawable/sfondo_semi_trasparente_scuro">




<LinearLayout
    android:layout_
    android:layout_
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@color/white"
    android:orientation="vertical">





    <EditText
        android:id="@+id/textNomeGiocatoreNewTeam"
        android:layout_
        android:layout_
        android:inputType="textPersonName"
        android:hint="Nome giocatore"/>


    <EditText
        android:id="@+id/textNumeroMagliaGiocatoreNewTeam"
        android:inputType="number"
        android:layout_
        android:layout_
        android:hint="Numero Maglia"/>

    <Button
        android:id="@+id/buttonConfirmAddNewPlayer"
        android:layout_
        android:layout_
        android:text="Aggiungi giocatore"
        android:layout_gravity="center"/>


</LinearLayout>

有人可以帮我吗?

【问题讨论】:

尝试使用:popupWindow.setFocusable(true); 我使用它.. 如果我不使用它,当我点击 EditText 时键盘不会显示.. 【参考方案1】:

试试这个:popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

【讨论】:

它对我有帮助:-D【参考方案2】:

您也可以将其添加到您的 AndroidManifest.xml

    <activity
        ...
        android:windowSoftInputMode="adjustResize"
    </activity>

【讨论】:

以上是关于Android - 如何在软键盘出现时调整弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何为表情符号制作有效的弹出视图?

Android view显示在软键盘上方

Android - 键盘弹出时调整屏幕?

Fragment中的ScrollView在软键盘出现时不滚动

PopupWindow上面的虚拟键盘

Android 软键盘的全面解析,让你不再怕控件被遮盖