自定义键盘按键模糊不清

5

我自定义了软键盘,但是键盘上的数字键(1,2,3,4,5,6,7,8,9,0,. 和 OK)看起来模糊。删除键没问题,但其他键看起来模糊。

这是我的键盘。 enter image description here

这是我的自定义键盘XML文件。

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:horizontalGap="0px"
android:keyHeight="10%p"
android:keyWidth="24%p"
android:verticalGap="0px" >

<Row>
    <Key
        android:codes="49"
        android:keyEdgeFlags="left"
        android:keyLabel="1" />
    <Key
        android:codes="50"
        android:keyLabel="2" />
    <Key
        android:codes="51"
        android:keyLabel="3" />
    <Key
        android:codes="-3"
        android:keyEdgeFlags="right"
        android:keyLabel="OK"
        android:keyWidth="28%p" />
</Row>
<Row>
    <Key
        android:codes="52"
        android:keyEdgeFlags="left"
        android:keyLabel="4" />
    <Key
        android:codes="53"
        android:keyLabel="5" />
    <Key
        android:codes="54"
        android:keyLabel="6" />
    <Key
        android:codes="-5"
        android:isRepeatable="true"
        android:keyEdgeFlags="right"
        android:keyIcon="@drawable/sym_keyboard_delete"
        android:keyWidth="28%p" />
</Row>
<Row>
    <Key
        android:codes="55"
        android:keyEdgeFlags="left"
        android:keyLabel="7" />
    <Key
        android:codes="56"
        android:keyLabel="8" />
    <Key
        android:codes="57"
        android:keyLabel="9" />
    <Key
        android:codes="48"
        android:keyLabel="0"
        android:keyWidth="14%p" />
    <Key
        android:codes="46"
        android:keyEdgeFlags="right"
        android:keyLabel="."
        android:keyWidth="14%p" />
</Row>


你解决了这个问题吗?我也遇到了同样的问题。 - LukeWaggoner
2个回答

27
尽管回答已经很晚,但这会对其他人有所帮助。
在您的KeyboardView标记中使用android:shadowRadius或android:shadowColor属性之一。
例如:
<android.inputmethodservice.KeyboardView
    android:id="@+id/keyboardview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shadowColor="@android:color/transparent"
    android:focusableInTouchMode="true" 
    android:visibility="gone" />
或者
<android.inputmethodservice.KeyboardView
        android:id="@+id/keyboardview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:shadowRadius="0.0"
        android:focusableInTouchMode="true" 
        android:visibility="gone" />

你能否添加一些关于为什么会发生这种情况的描述? - Muhammad Zeeshan
@Jam,只需要多花点心思去理解shadowRadius和shadowColor是如何工作的,你就能自己找出原因了。 - Jayabal

1
你的键比普通键盘键更大。因此,这些数字键会放大并显示模糊。你需要使用自定义绘制图像。

谢谢您的评论,但请检查上传的图像中的“0”和点键,虽然它很小,但该键看起来仍然模糊。我尝试使用较小的键,即更改键的宽度和高度,但问题仍未解决。 - Mubarak

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