Android XML样式属性是否未按顺序覆盖?

时间:2015-05-11 18:53:26

标签: android android-layout

我有reg query,其顶部和底部应填充TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(this); taskStackBuilder.addParentStack(Agenda.class); // Difference is in this line //add resultIntent to top of the stack taskStackBuilder.addNextIntent(resultIntent); ,左侧TextView。然后我尝试了:

10dp

这就是我在CSS中所做的。但它不起作用。

无论顺序如何,我的左边填充都是30dp。 Android样式属性是否按照它们出现的顺序被覆盖?如果是的话,是否有任何优先事项清单? 例如:android:padding="10dp" android:paddingLeft="30dp"

覆盖是CSS中的一个重要特性,可以节省大量编码,因此我想知道这是否可以在Android中实现。

也许我找不到合适条款的答案。如果有人能指出我在哪里理解它,我将非常感激。

2 个答案:

答案 0 :(得分:10)

Android布局系统与CSS不同。它不关心属性的顺序,padding总是覆盖paddingLeftpaddingRight等。

您可以在View.java here (padding is set)here (if padding is set it is used, even if paddingLeft is set)中找到相关的源代码。

这是最重要的摘录:

if (padding >= 0) {
    leftPadding = padding;
    topPadding = padding;
    rightPadding = padding;
    bottomPadding = padding;
    mUserPaddingLeftInitial = padding;
    mUserPaddingRightInitial = padding;
}

答案 1 :(得分:0)

据我所知source code, 当你设置padding属性时,它可以被其他填充属性覆盖。