BottomSheetDialog自定义键盘

本文介绍如何使用BottomSheetDialog结合自定义键盘,通过XML布局、KeyboardUtil工具类和MainActivity的实例应用,展示了一种良好的键盘效果。并讨论了如何禁止系统软件盘的弹出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上看了很多自定义键盘的,根据自己的需求加上了BottomSheetDialog来作为显示容器,效果还是不错的,直接上图看效果
在这里插入图片描述
一、XML
1、数字键盘

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyHeight="50dp"
    android:keyWidth="25%p"
    >
    <Row>
        <Key android:codes="49"  android:keyLabel="1"/>
        <Key android:codes="50"  android:keyLabel="2"/>
        <Key android:codes="51"  android:keyLabel="3"/>
        <Key android:codes="-5"  android:keyIcon="@android:drawable/ic_input_delete"  android:isRepeatable="true"/>
    </Row>
    <Row>
        <Key android:codes="52"  android:keyLabel="4"/>
        <Key android:codes="53"  android:keyLabel="5"/>
        <Key android:codes="54"  android:keyLabel="6"/>
        <Key android:codes="-11"  android:keyLabel="←" android:isRepeatable="true"/>

    </Row>
    <Row>
        <Key android:codes="55"  android:keyLabel="7"/>
        <Key android:codes="56"  android:keyLabel="8"/>
        <Key android:codes="57"  android:keyLabel="9"/>
        <Key android:codes="-12"  android:keyLabel="→" android:isRepeatable="true"/>

    </Row>
    <Row>
        <Key android:codes="-2"  android:keyLabel="abc"/>
        <Key android:codes="48"  android:keyLabel="0"/>
        <Key android:codes="-7"  android:keyLabel="符"/>
        <Key android:codes="-3"  android:keyLabel="完成"/>
    </Row>
</Keyboard>

2、英文键盘

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyHeight="50dp"
    android:keyWidth="9.45%p"
    android:horizontalGap="0.5%p"
    android:verticalGap="1dp">
    <Row>
        <Key android:codes="113"  android:keyEdgeFlags="left" android:keyLabel="q"/>
        <Key android:codes="119"  android:keyLabel="w"/>
        <Key android:codes="101"  android:keyLabel="e"/>
        <Key android:codes="114"  android:keyLabel="r"/>
        <Key android:codes="116"  android:keyLabel="t"/>
        <Key android:codes="121"  android:keyLabel="y"/>
        <Key android:codes="117"  android:keyLabel="u"/>
        <Key android:codes="105"  android:keyLabel="i"/>
        <Key android:codes="111"  android:keyLabel="o"/>
        <Key android:codes="112"  android:keyLabel="p"/>
    </Row>
    <Row>
        <Key android:codes="97" android:horizontalGap="5.225%p"
            android:keyEdgeFlags="left" android:keyLabel="a"/>
        <Key android:codes="115"  android:keyLabel="s"/>
        <Key android:codes="100"  android:keyLabel="d"/>
        <Key android:codes="102"  android:keyLabel="f"/>
        <Key android:codes="103"  android:keyLabel="g"/>
        <Key android:codes="104"  android:keyLabel="h"/>
        <Key android:codes="106"  android:keyLabel="j"/>
        <Key android:codes="107"  android:keyLabel="k"/>
        <Key android:codes="108"  android:keyLabel="l"/>
    </Row>
    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值