android填充 - 有时在4.2.2中被忽略,适用于4.0.4

时间:2014-03-12 13:46:49

标签: android android-layout android-listview

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

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

此外,我很多天都没有触及这个布局定义,所以它停止工作是非常令人惊讶的。 Android漏洞? Eclipse bug?

我试图清理项目,重启eclipse等。没有什么可以帮助...

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

最后我找到了原因 - 如果是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