2017-06-17 45 views
1

我有一個RelativeLayout的,我使用android:layout_marginEnd="170dp" 和Android工作室告訴我:Android Studio中的XML 17

支持老版本比API 17(項目指定15),你應該 也添加

android:layout_marginRight="170dp"

這不是一個錯誤,它正確編譯,但我不明白這個暗示。爲什麼我應該使用marginRight?爲什麼不是marginLeft? 任何人都可以解釋我背後的祕密嗎? 我尋找其他答案,但我仍然沒有得到它。

預先感謝您。

回答

2

android:layout_marginEnd被添加到API 17中以更好地支持從右到左的語言。但是,API 17之前的早期版本的Android無法識別此標記,因此您還需要添加android:layout_marginRight

+0

出於好奇:當增加一個'layout_marginRight'並使用從右到左的語言,是不是開始頁邊距錯誤? – Henry

+0

我從未測試過自己的行爲,但它可能因設備不同而不同,因爲指定的行爲不明確。 IIRC您可以爲您的應用程序設置默認語言環境,並且某些設備可能會假設,如果默認語言環境是從左到右的語言,並且您指定了android:layout_marginRight,並且該設備有權使用語言,則它可以自動將其交換。但其他設備可能不會這樣做。我的猜測是,添加了android:layout_marginEnd以避免這種分散的行爲,並允許開發人員指定它應該如何顯示。 –