Android 这是正常的行为吗?我怎样才能避免呢?

Android 这是正常的行为吗?我怎样才能避免呢?,android,android-edittext,padding,nine-patch,Android,Android Edittext,Padding,Nine Patch,我正在开发一个搜索栏,这个搜索栏应该可以延伸整个屏幕,所以我想是9个补丁,而不是5个不同的资源,对吗 这就是它看起来的样子 9patch资产: 我尝试设置android:padding=0dp,也使用setpadding(0,0,0,0)进行动态设置 我已经更新了9patch,允许图像中的所有内容(底部和右侧线条-最大长度) 有人知道为什么会有这种行为吗?如果你的意思是你的编辑文本得到了额外的填充。 请在Java中设置,而不是在布局中 EditText text = (EditText)

我正在开发一个搜索栏,这个搜索栏应该可以延伸整个屏幕,所以我想是9个补丁,而不是5个不同的资源,对吗

这就是它看起来的样子

9patch资产:

  • 我尝试设置android:padding=0dp,也使用setpadding(0,0,0,0)进行动态设置
  • 我已经更新了9patch,允许图像中的所有内容(底部和右侧线条-最大长度)

有人知道为什么会有这种行为吗?

如果你的意思是你的编辑文本得到了额外的填充。 请在Java中设置,而不是在布局中

EditText text = (EditText)findViewByid(R.id.myedittext);
text.setPadding(0,0,0,0);

如果您为视图设置9patch背景,它将得到额外的填充。

最终我调整了9patch资产的大小,如下所示:

我的理论是将9patch从中间(水平)分割,插入内容,而不是简单地围绕内容。 所以,如果你有一个10px的9px补丁和一个10px的内容,你会得到一个20px的结果,而不是我以前认为的12px

希望这有帮助:)


附言:我会投票给任何一个比“理论”更重要的人