0

我为 EditText 创建了一个 9-patch 背景。

XML 代码:

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="15dp"
    android:layout_marginRight="15dp"
    android:background="@drawable/searchnew"
    android:ems="10"
    android:hint="  Search recorded files..."
    android:textColor="#646464" >

</EditText>

XML 预览:

在此处输入图像描述

真实设备:

在此处输入图像描述

9 补丁图像:

在此处输入图像描述

老实说,它甚至没有那么困扰我,但我仍然想知道为什么会发生这种情况?为什么真实设备上的 EditText 背景更宽更高?

奖金无关的问题:知道如何摆脱“丑陋”的角落吗?如果你仔细观察,你可以单独看到像素,但我想要一个像素完美的设计。

4

1 回答 1

0

做了一些更多的研究后才找到原因。EditText 中的文本有一些默认填充。这就是为什么当我在真实设备上运行 9-patch 时,它会被拉伸得更多。我所要做的就是将填充设置为 0。

将顶部填充设置为 0 示例:

android:paddingTop="0dp"

对顶部、底部、左侧、右侧和背景执行此操作,并且背景将保持固定 :)

于 2013-10-28T20:14:21.650 回答