duilib中edit获得鼠标焦点后右边框被覆盖

时间:2021-11-20 23:44:53

转载:http://www.cnblogs.com/minggong/p/6457734.html

用duilib做了一个窗口,窗口内有一个供用户输入使用的是edit控件。

XML中是这样写的:

<Edit name="edit" tipvalue="请输入你的邮箱或者手机号" tipvaluecolor="#FF989898" nativetextcolor="#FF000000" nativebkcolor="#FFFFFFFF" bordersize="1" width="160" height="30" bkcolor="#FFFFFFFF" bordercolor="#FFE4E4E4" font="4" borderround="2,2" textpadding="10,0,0,0"/>

但是当这个编辑框获得鼠标焦点后,编辑框的右边框被覆盖,即使edit中什么都不输入,只要有鼠标焦点,就会被覆盖。

以为是duilib中edit控件的bug,查阅了源码,没有发现问题。

那就看看XML中的edit是如何写的吧!哪个跟输入有关呢? 
我们看到了textpadding。

textpadding就是输入的内容与edit各个边的距离。我们为了输入的第一个字符与左边框有一点点距离,所以textpadding的第一个参数就设为了10。

那会不会是距离右边框的距离太近了呢?

于是修改了textpadding为:

textpadding="10,0,10,0"

这里需要注意的是textpadding的顺序: 
左 上 右 下 
即顺时针顺序。

textpadding="10,0,10,0"                                                           textpadding="10,0,10,0"

duilib中edit获得鼠标焦点后右边框被覆盖                                                                            duilib中edit获得鼠标焦点后右边框被覆盖