在运行时将行和键添加到android中的自定义键盘

Posted

技术标签:

【中文标题】在运行时将行和键添加到android中的自定义键盘【英文标题】:Add rows and keys at run time to custom keyboard in android 【发布时间】:2017-01-06 08:22:06 【问题描述】:

我正在开发一个应用程序,我需要在 Java 代码中以编程方式创建自定义键盘的行和键,而不是使用 XML。 这可能吗 ?如果是,我们如何做到这一点。

目前,我正在使用 XML 并以这种方式创建行:-

<Keyboard android:keyWidth="10.0%p" 
android:keyHeight="@dimen/key_height" android:horizontalGap="0.0px"android:verticalGap="0.0px"
xmlns:android="http://schemas.android.com/apk/res/android">

<Row android:rowEdgeFlags="top" >
    <Key  android:codes="-21"   android:keyIcon="@drawable/arbiclinenew" />
    <Key  android:codes="-51"  android:keyIcon="@drawable/recentlinenew" />

</Row>

基本上,我需要在我的键盘上显示"recent" 视图,该视图显示用户最近选择的所有表情符号,就像在whatsapp 中一样。 请帮忙..!!!!

【问题讨论】:

【参考方案1】:

最后,我可以创建自己的自定义键盘了。我们可以创建自定义键盘布局来显示最近的按钮。例如:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_
    android:layout_>


    <android.inputmethodservice.KeyboardView
        android:id="@+id/keyboard"
        android:layout_
        android:layout_
        android:layout_alignParentBottom="true"
        android:textDirection="rtl"
        android:keyPreviewLayout ="@layout/preview"></android.inputmethodservice.KeyboardView>

 <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_
        android:layout_
     />


</FrameLayout>

现在,假设在任何按键点击时,您需要显示 emoji 或任何其他视图,那么我们可以设置键盘可见性:不可见并且可以显示您自己的布局。

【讨论】:

以上是关于在运行时将行和键添加到android中的自定义键盘的主要内容,如果未能解决你的问题,请参考以下文章

实现 TComponentEditor 的自定义 Firemonkey 组件。在设计时将子控件添加到父控件

Android:在自定义键盘上添加 imageButton

选择列表框选项时将行添加到 Data GridView VB.net

将标签和图像动态添加到 Android 中的自定义视图

使用完成按钮关闭我的自定义键盘

如何将数据添加到 listView 的自定义 BaseAdapter - Android