我需要使用自定义数字软键盘。但有些部分我无法做到正确。我想使用 KeyIcon 来显示 密钥 ,而不是使用 KeyLabel 即可。 但是一旦我运行它,结果就像下面那样。它与键的高度和宽度不匹配。反正有没有做对吗?
我看过发布的人应该使用 NinePatchDrawable 作为KeyIcon。但事实就是如此,我怎么想在密钥中包含Text(颜色为黑色,字体大于默认值)?
请建议......
<Row>
<Key android:codes="49" android:keyIcon="@drawable/num_1" android:keyWidth="20%p" android:keyEdgeFlags="left"/>
<Key android:codes="50" android:keyIcon="@drawable/num_2" android:keyWidth="20%p"/>
<Key android:codes="51" android:keyIcon="@drawable/num_3" android:keyWidth="20%p"/>
</Row>
<Row>
<Key android:codes="52" android:keyIcon="@drawable/num_4" android:keyWidth="20%p" android:keyEdgeFlags="left"/>
<Key android:codes="53" android:keyIcon="@drawable/num_5" android:keyWidth="20%p"/>
<Key android:codes="54" android:keyIcon="@drawable/num_6" android:keyWidth="20%p" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="55" android:keyIcon="@drawable/num_7" android:keyWidth="20%p" android:keyEdgeFlags="left"/>
<Key android:codes="56" android:keyIcon="@drawable/num_8" android:keyWidth="20%p"/>
<Key android:codes="57" android:keyIcon="@drawable/num_9" android:keyWidth="20%p" android:keyEdgeFlags="right"/>
</Row>
<Row android:rowEdgeFlags="bottom">
<Key android:codes="-5" android:keyIcon="@drawable/num_del" android:keyWidth="20%p" android:keyEdgeFlags="left"
android:isRepeatable="true"/>
<Key android:codes="48" android:keyIcon="@drawable/num_9" android:keyWidth="20%p"/>
<Key android:codes="-3" android:keyIcon="@drawable/num_done" android:keyWidth="20%p" android:keyEdgeFlags="right"/>
</Row>
答案 0 :(得分:1)
简单且最简单的解决方案是使用不同大小的图像(键图标)并将其放置在适当的可绘制文件夹中(drawable,mipmap-hdpi,mipmap-mdpi ...)。您必须使用不同的屏幕尺寸设备进行测试,以确保键图标看起来很好。键图标的当前大小看起来很大,因此您需要减小它的宽度和高度以适应键。