安卓键盘的附加视图(类似于iOS中的inputAccessoryView)

8

请问如何在Android中添加类似于inputAccessoryView的内容?

我想添加一个自定义按钮的额外行,就像这里键盘上方的栏中所示:

enter image description here

谢谢!

P.S. 我正在使用标准默认键盘。


你正在编写自己的输入法编辑器吗? - CommonsWare
不,使用标准键盘,我只需要一个像顶部那样的自定义栏。 - F L
1个回答

9
这是不可能的,除非您创建自己的输入法编辑器。您无法从应用程序修改他人的输入法编辑器。
在屏幕截图中,您认为的“额外的自定义按钮行”并不是输入法编辑器的一部分,而是活动的一部分。如果我猜测的话,该活动的布局文件大致如下(仅伪代码 - 这将不能直接编译):
<LinearLayout android:orientation="vertical">
  <ScrollView android:layout_height="0dp" android:layout_weight="1">
    <LinearLayout android:orientation="vertical">
      <!-- the form goes in here -->
    </LinearLayout>
  </ScrollView>
  <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content">
    <!-- the button bar goes here -->
  </LinearLayout>
</LinearLayout>

如果在你的清单文件中的<activity>元素上添加了android:windowSoftInputMode="adjustResize",那么这个属性和代码一起使用可以达到你想要的UI效果,即按钮栏会立即出现在输入法编辑器的上方。


打开具有此布局的屏幕时会冻结,API级别为16。 - Alex Sorokoletov
@AlexSorokoletov:这里的“布局”是伪代码,不能直接编译,正如答案本身所指出的那样。如果您从中推导出一些布局,并且在使用该布局时遇到问题,欢迎您打开自己的Stack Overflow问题寻求帮助。 - CommonsWare
我没有直接使用这个布局,但是我从中派生出来。感谢您提供问题建议,但是我使用了另一种解决方案https://dev59.com/Tmgu5IYBdhLWcg3wuJWF#11120597。 - Alex Sorokoletov
简单,但是聪明! - Tash Pemhiwa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接