在Android软键盘顶部附加xml中定义的布局的最简单方法是什么。此视图应仅在键盘出现时出现。
问问题
5096 次
4 回答
0
我认为最好的方法是检测键盘何时出现,然后将视图附加到屏幕底部(调整所有布局后它将位于键盘上方)。
于 2013-02-06T09:46:54.113 回答
0
我认为这篇文章与其他有很多关系:如何在 WhatsApp 等软键盘上绘制视图?这个问题有几个解决方案。
于 2013-05-13T10:20:25.233 回答
0
我认为这样做更清洁。
定义一个布局资源文件以用作您的自定义视图
创建一个扩展此布局资源文件并将其作为视图返回的方法:代码片段
public View returnPayKeyView(){
View simpleView = getLayoutInflater().inflate(R.layout.simpleresource,null);返回简单视图;
}
使用 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 回答