我在一种布局中使用填充。更确切地说,它是一个定义一项的组件,我在应用程序的两个不同列表视图中使用了该组件。今天,在准备程序的新版本时,我注意到了非常奇怪的事情。

填充工作在android 4.0.4中没有问题(在两个列表视图的情况下)。
填充似乎在第一个列表视图中被忽略,并且在android 4.2.2中的第二个列表视图中工作正常。

而且,由于很多天以来我都没有触及这个布局定义,所以令人惊讶的是它停止工作了。 Android bug? Eclipse错误?

我试图清理项目,重新启动eclipse等。没有任何帮助...

有任何想法吗?

最佳答案

最后,我找到了原因-在listviews之一的情况下,我使用的是setBackgroundResource,似乎Android此处存在错误。...:

该解决方案有助于:

if(condition) {
    int bottom = theView.getPaddingBottom();
    int top = theView.getPaddingTop();
    int right = theView.getPaddingRight();
    int left = theView.getPaddingLeft();
    theView.setBackgroundResource(R.drawable.entry_bg_with_image);
    theView.setPadding(left, top, right, bottom);
}


更多:setBackgroundResource() discards my XML layout attributes

10-06 06:09