1. 程式人生 > >Android MarginLeft與MarginStart的區別

Android MarginLeft與MarginStart的區別

在寫layout佈局的時候,我們會發現有這樣幾個比較相似的屬性:
MarginStart   MarginLeft

MarginEnd    MarginRight

       這些屬性的區別是什麼?  根據api註釋,我們得知MarginStart指的是控制元件距離開頭View部分的間距大小,MarginLeft則指的是控制元件距離左邊View部分的間距大小,MarginEnd和MarginRight同理。

       一般情況下,View開始部分就是左邊,但是有的語言目前為止還是按照從右往左的順序來書寫的,例如阿拉伯語,在Android  4.2系統之後,Google在Android中引入了RTL佈局,更好了支援了由右到左文字佈局的顯示,為了更好的相容RTL佈局,google推薦使用MarginStart和MarginEnd來替代MarginLeft和MarginRight,這樣應用可以在正常的螢幕和由右到左顯示文字的螢幕上都保持一致的使用者體驗。

    Android 4.2引入了由右到左文字的全面本地支援佈局。在本地RTL支援下,您可以為所有使用者帶來完美的應用體驗,不論他們的文字書寫方向是由左至右還是由右至左。

當用戶切換系統語言到由右至左書寫方式時,系統提供自動的應用UI佈局和所有可視元件的映象,包括文字元素的顯示和輸入。

您的應用僅需極少改變即可支援RTL佈局映象。如果您的應用支援這一特性,只要在您應用的manifest檔案中將所有的”left/right”佈局屬性改變為對應的”start/end”即可。系統就會根據需要處理您UI了。