在Android软键盘顶部附加xml中定义的布局的最简单方法是什么。 此视图应仅在键盘出现时显示。
答案 0 :(得分:0)
我认为最好的方法是检测键盘何时出现,然后将视图附加到屏幕底部(调整所有布局后,它将位于键盘上方)。
答案 1 :(得分:0)
我认为这篇文章与其他帖子有很多关系:How to draw view on top of soft keyboard like WhatsApp?并且针对此问题有几种解决方案。
答案 2 :(得分:0)
我认为更清洁的方法。
定义用作自定义视图的布局资源文件
创建一个方法,使该布局资源文件膨胀并将其作为视图返回: 代码片段
public View returnPayKeyView(){
查看simpleView = getLayoutInflater()。inflate(R.layout.simpleresource,null);
返回simpleView;
}
使用setCandidatesView方法将此返回的视图设置为候选
返回的视图将使用膨胀的xml布局资源显示在键盘上方。
答案 3 :(得分: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>
缺点是,即使隐藏了键盘,它也会显示-但是当键盘显示/隐藏时,应该可以显示/隐藏视图:How do I Detect if Software Keyboard is Visible on Android Device?