Android --- layout_marginStart和layout_marginEnd的详细讲解
8.4.6? 從右到左布局(RTL Layout)
從Android 4.2開始,Android SDK支持一種從右到左(RTL,Right-to-Left)UI布局的方式,盡管這種布局方式經常被使用在諸如阿拉伯語、希伯來語等環境中,中國用戶很少使用。不過在某些特殊用途中還是很方便的。
所謂RTL,就是指按平常習慣在左的視圖都會在右側,在右側的視圖都會在左側。例如,在線性布局中第1個子視圖默認都是在左上角的,如果采用RTL布局,默認就在右上角了。
RTL布局默認是關閉的,如果想使用RTL布局,首先要在AndroidManifest.xml文件中將<application>標簽的android:supportsRtl屬性值設為"true",然后需要將相應視圖標簽的android:layoutDirection屬性值設為"rtl"。
如果要使用RTL布局,還應該注意一個重要的問題。假設一個水平線性布局中有兩個<TextView>標簽:TextView1和TextView2。TextView1位于窗口的左上角,而TextVew2在TextView1的右側,到TextView1的距離是100dp。實際上就是TextView2的左邊緣到TextView1的右邊緣的距離。如果當前是默認布局方式(LTR,從左到右,Left-to-Right),只需要將TextView2的android:layout_marginLeft屬性值設為"100dp"即可。不過這在RTL布局中卻恰好相反。在RTL布局中,TextView1在窗口的右上角,而TextView2卻跑到了TextView1的左側,所以TextView2到TextView1的距離實際上變成了TextView2的右邊緣到TextView1的左邊緣的距離。因此應該設置TextView2的android:layout_marginRight屬性,這樣就會造成RTL和LTR兩種布局模式中UI排列的混亂。為了解決這個問題,在Android 4.2中新加了如下兩個布局屬性。
android:layout_marginStart:如果在LTR布局模式下,該屬性等同于android:layout_marginLeft。如果在RTL布局模式下,該屬性等同于android:layout_marginRight。
android:layout_marginEnd:如果在LTR布局模式下,該屬性等同于android:layout_marginRight。如果在RTL布局模式下,該屬性等同于android:layout_marginLeft。
總結
以上是生活随笔為你收集整理的Android --- layout_marginStart和layout_marginEnd的详细讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android --- textColo
- 下一篇: Android --- Android