And*_*w S 15 android android-relativelayout
所以我对使用相对布局很满意,但是在习惯Android Studio时我注意到在我的相对布局子视图中它生成了以下两种情况.
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true
Run Code Online (Sandbox Code Playgroud)
我在这里检查了Android文档,但看不出两者之间的区别.当然在Android Studio中相互交换显示没有明显的区别.有吗?
sam*_*gak 13
这取决于布局方向.布局方向可以是从左到右(start = left,end = right),也可以是从右到左(反之亦然).
默认情况下,布局方向基于区域设置(对于像阿拉伯语这样的语言,从左到右依次为英语,从右到左),但您可以使用layoutDirection XML属性或setLayoutDirection函数覆盖它.例如:
android:layoutDirection="ltr"
Run Code Online (Sandbox Code Playgroud)
^将使alignParentStart等效于所有设备上的alignParentLeft.
android:layoutDirection="rtl"
Run Code Online (Sandbox Code Playgroud)
^将使alignParentStart等效于所有设备上的alignParentRight.您还可以设置"locale"以使用区域设置或"继承"从父视图继承布局方向.
您需要添加android:supportsRtl="true"到AndroidManifest.xml以支持从右到左的布局.
android:layout_alignParentStart="true"
Run Code Online (Sandbox Code Playgroud)
对齐开始的边缘这一观点的开始其父的边缘.这是LTR(从左到右)语言环境的左边缘,右边是RTL(从右到左)语言环境语言,如阿拉伯语,希伯来语,波斯语等.
Android Studio也增加了原因
android:layout_alignParentLeft="true"
Run Code Online (Sandbox Code Playgroud)
您的观点是支持4.2.x之前的旧平台Jelly Bean.类似的Start/End属性 layout_alignParentStart仅可从API 17开始提供.只有在找不到相应的" 开始/结束"属性时,较新的平台才会回退到" 左/右"属性.
如果您的应用程序支持使用android:minSdkVersion以下级别的旧版平台17,则必须始终为视图提供" 左/右"属性.否则项目将无法编译,并显示错误消息
要支持比API 17更旧的版本(项目指定7),您还应该添加android:layout_alignParentLeft ="true"
另请注意,您的Android应用程序需要声明其对您的RTL语言环境的支持AndroidManifest.xml.
<application
...
android:supportsRtl="true"
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15073 次 |
| 最近记录: |