问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android自定义软键盘

发布网友 发布时间:2022-09-18 00:29

我来回答

1个回答

热心网友 时间:2023-10-19 02:15

Android自定义键盘的使用

1、新建一个xml文件夹放在res目录下面,然后新建xml文件:money_keyboard.xml
2、然后在XML文件中添加按钮布局,这个布局就是键盘的样子了

3 属性介绍:
Keyboard:
存储键盘以及按键相关信息。
android:horizontalGap
按键之间默认的水平间距。
android:verticalGap
按键之间默认的垂直间距。
android:keyHeight
按键的默认高度,以像素或显示高度的百分比表示。
android:keyWidth:
按键的默认宽度,以像素或显示宽度的百分比表示。
Row:
为包含按键的容器。
Key:
用于描述键盘中单个键的位置和特性。
android:codes
该键输出的unicode值。
android:codes 官网介绍是说这个是该键的unicode 值或者逗号分隔值,当然我们也可以设置成我们想要的值,在源码中提供了几个特定的值
对照表:

android:isRepeatable
这个属性如果设置为true,那么当长按该键时就会重复接受到该键上的动作,在 删除键键 和 空格键 上通常设为true。
android:keyLabel
显示在按键上的文字。
android:keyIcon 与 keyLabel
是二选一关系,它会代替文字以图标的形式显示在键上。

android:keyWidth="33.33333%p"
每一个按钮的宽度,可以设置百分比

android:keyHeight="10%p"
每一个按钮高度,可以设置百分比

KeyboardView是一个渲染虚拟键盘的View。 它处理键的渲染和检测按键和触摸动作。
显然我们需要KeyboardView来对Keyboard里的数据进行渲染并呈现给我们以及相关的点击事件做处理。 1)//设置keyboard与KeyboardView相关联的方法。
public void setKeyboard(Keyboard keyboard)
2)//设置虚拟键盘事件的监听,此方法必须设置,不然会报错。
public void setOnKeyboardActionListener(OnKeyboardActionListener listener) 步骤上呢,做完第一步的关联,并设置第二步的事件,调用KeyboardView.setVisible(true);键盘就可以显示出来了, 是不是很简单。不过到这里还没有结束哦,接下来我们为了使用上的便利要进行相应的封装。 封装 这里我们通过继承EditText来对Keyboard与KeyboardView进行封装。
attr.xml文件,这里我们需要通过一个xml类型的自定义属性引入我们的键盘描述文件。

1、新建一个类,我取名叫KeyUtils然后在里面新建三个属性。KeyBoard用处可大了,他才是本体,可以通过设置他来切换键盘。
2、构造函数,初始下三个参数。
3、先说下预览图吧,就是效果图上的预览图,需要预览图的话的将setPreviewEnabled设置为true,不过还得在布局文件中的android.inputmethodservice.KeyboardView标签对立面设置预览布局。否则,不会有字。至于设置的布局,一个TextView就好了~

onPress: 按下触发。
onRelease:松开触发。
onKey : 松开触发,在OnRelease之前触发。
swipeLeft : 左滑动,其他同理。哈哈~就这么懒。
onText :需要在 键盘xml,也就是我此时的number.xml里面中key标签对里添加一个
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
弱弱的问一句R9 270X显卡怎么样~ 能带得起我的AMD 240CPU么?_百度知 ... i54570cpu华硕z87a主板要配多少的内存条和显卡 i5 3570k配R9 270X显卡,用什么主板和电源? 很容易上火是什么原因 口干舌燥五心烦热失眠多梦夜不能寐请问是什么原因,吃什么能有效... 想问看大家对老妻少夫的问题有何看法? ...战记第十三章第6关打法 山海战记13-6攻略-手游攻略-游戏鸟手游网 ...战记第十七章第1关打法 山海战记17-1攻略-手游攻略-游戏鸟手游网 ...山海战记9-6图文攻略-手游攻略-游戏鸟手游网 ...战记第十二章第2关打法 山海战记12-2攻略-手游攻略-游戏鸟手游网 【转】Android软键盘的全面解析 甲醛标准数值是多少 现在湖南这边3月份可以播种花吗? 3月可以栽裸根月季吗 性格太内向了,不知道也不敢问怎么办? 台式电脑可以换个低一个档次滴显卡吗 技嘉GA-B150-HD3和技嘉GA-B150-HD3P有什么区别 云相册上传不了照片 经常睡觉到下半夜两边肾痛,是怎么回事 盛禾(福建)食品有限公司怎么样? 盛禾拖拉机质量怎么样- 问一问 请问打卡网红地什么意思 如何看待2022年我国系统重要性银行名单发布?有什么重要意义? 中企500强榜单发布:营收总额首破百万亿大关,中国市场的潜力有多大? 魅族手机锁屏背景自动切换怎么设置 介绍一下大蛇丸的草稚剑拜托了各位 谢谢 网友称弹壳也指导呼兰的rap,你知道这句话从何而来吗? 空气净化器品牌排行榜前十名 分析测试前需对水样进行预处理,如何去除水样中悬浮物- 问一问 选择听力防护的劳保用品需要注意的问题有哪些? Android 手机软键盘的弹起和关闭的监听 Android 软键盘的弹出及关闭 春季三月份能在院里种牡丹花吗 怎么查询济阳*审判结果6月20赵良波起诉朱长凤离婚案审判结果 H3C的2层交换机不同VLAN 不同网段 互通 卵泡不长能治好吗怎么治 梦见生炉子 奔驰s600多大排量 德塞梅斯.奔驰600的配置 名字中间带有之的明星有哪些,各位大神,帮忙求解,有急事儿 求一个彭姓中间带个 之 字的名字,男的女的都要 游走于,于游走,游于不走,于游必走,什么意思? 中国上市公司总市值规模稳居全球第二,这意味着什么? 躲避喧哗浮墟,静谧宅地一隅.谁写的 安徽省太和县第一中学的介绍 湖囗县到瑞昌市兴业新工业园有多少公里 东莞常平镇千式发型拉一次直发多少钱? 从东莞南城车站有到温州双屿客运中心的直发车吗? 我现在在广东省,东莞市。想去山东威海怎么走啊,有直发的火车或汽车吗?拜托了各位 谢谢 从河南驻马店到东莞寮步做那趟车啊、火车客车都行,