3

在Android软键盘顶部附加xml中定义的布局的最简单方法是什么。此视图应仅在键盘出现时出现。

4

4 回答 4

0

我认为最好的方法是检测键盘何时出现,然后将视图附加到屏幕底部(调整所有布局后它将位于键盘上方)。

于 2013-02-06T09:46:54.113 回答
0

我认为这篇文章与其他有很多关系:如何在 WhatsApp 等软键盘上绘制视图?这个问题有几个解决方案。

于 2013-05-13T10:20:25.233 回答
0

我认为这样做更清洁。

  1. 定义一个布局资源文件以用作您的自定义视图

  2. 创建一个扩展此布局资源文件并将其作为视图返回的方法:代码片段

    public View returnPayKeyView(){
    View simpleView = getLayoutInflater().inflate(R.layout.simpleresource,null);

    返回简单视图;

    }

  3. 使用 setCandidatesView 方法将此返回的视图设置为候选视图

返回的视图将显示在您的键盘上方,使用膨胀的 xml 布局资源。

于 2017-05-20T17:11:47.393 回答
0

一种方法是将您通常的视图布局包装在 FrameLayout 中,并将您想要的位放在框架内的键盘上方,以及您的其他视图布局,布局重力为底部。

我的布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

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

            <!-- all your stuff... -->

        </LinearLayout>

    </ScrollView>

    <LinearLayout
        android:id="@+id/stuffAboveKeyboardLayout"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_gravity="bottom"
        android:orientation="horizontal"
        android:background="#DDD">

        <!-- stuff above keyboard... -->

    </LinearLayout>

</FrameLayout>

缺点是即使键盘隐藏它也会显示 - 但是当键盘显示/隐藏时应该可以显示/隐藏视图:如何检测软件键盘在 Android 设备上是否可见?

于 2019-12-13T09:13:37.963 回答