用duilib做了一个登录框,用户名的输入使用的是edit控件。
XML中是这样写的:
<Edit name="subdomain_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"/>
但是当这个编辑框获得鼠标焦点后,编辑框的右边框被覆盖,即使edit中什么都不输入,只要有鼠标焦点,就会被覆盖。
以为是duilib中edit控件的bug,查阅了源码,没有发现问题。
那就看看XML中的edit是如何写的吧!哪个跟输入有关呢?
我们看到了textpadding。
textpadding就是输入的内容与edit各个边的距离。我们为了输入的第一个字符与左边框有一点点距离,所以textpadding的第一个参数就设为了10。
那会不会是距离右边框的距离太近了呢?
于是修改了textpadding为:
textpadding="10,10,0"
这里需要注意的是textpadding的顺序:
左 上 右 下
即顺时针顺序。
问题解决。看似easy,也用了些时间!!!!!!