1
我正在使用兩種不同的方式將規則添加到LayoutParams變量中的一些代碼。在一些代碼,它是這樣完成的:按位OR發送多個標誌到LayoutParams.addRule()是否有意義?
params.addRule(RelativeLayout.ALIGN_PARENT_TOP | RelativeLayout.ALIGN_PARENT_LEFT);
,並在另一部分是做這樣的:
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
在第二部分評論說:
// We MUST do these rules separately if we don't
// want to use logic-split for landscape/portrait modes.
它是有區別的,還是這個評論是迷信的產物?哪種方式是首選,爲什麼?
謝謝!考慮到你是誰我很想接受這個答案馬上,但我喜歡讓更多的時間讓其他答案滴入。 – 2011-03-03 18:31:34
我可以說服你的源頭。 addRule()的實現只做mRules [verb] = TRUE,而mRules是一個數組長度的規則數。 OR'ing動詞可能會設置錯誤的規則或失敗,索引越界異常:) – 2011-03-04 00:59:20