布局-开始-结束,左右概念
Layout-start-end,left-right concepts
我对以下属性的用法有点困惑。
> android:layout_marginRight and android:layout_marginEnd
> android:layout_marginLeft and android:layout_marginStart
> android:layout_toLeftOf and android:layout_toStartOf
> android:layout_toRightOf and android:layout_toEndOf
> android:layout_gravity="right|end"
> android:layout_gravity="left|start"
以下是我掌握的一些事实mentioned.Please如果我错了请纠正我。
同时支持 Ltr 和 Rtl 布局并支持 api 级别 17 之前的版本
是否建议将上述属性始终成对放置..
"start" 和 "end" 概念已添加到 API 第 17 级,并将
优先使用 api level>=17 and "right" and "left" 的 Ltr 设备
对于 api level<17
的 Ltr 设备,概念将优先
如果我们的应用程序 minskdversion >=17 那么我们可以忽略 "right" 和
"left" 属性并仅使用 "start" 和 "end" 属性
- "start" 和 "end" 概念将在所有 Rtl 中优先
设备
此外,我想知道如果我成对添加上述属性,如-
,是否会对performance/optimization产生不利影响
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|end"
android:layout_marginRight="@dimen/dp10"
android:layout_marginEnd="@dimen/dp10"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginStart="@dimen/dp10"
android:layout_toLeftOf="@+id/bar"
android:layout_toStartOf="@+id/bar"
/>
要在您的应用中支持 RTL,您应该:
- 如果您的应用 API 级别 >=17,您应该使用“开始”和“结束”而不是“左”和“右”(例如:layout_marginStart)
如果您的应用 API 级别 <17,那么除了“左”和“右”之外,您还应该添加“开始”和“结束”。换句话说 - 同时使用 layout_marginRight 和 layout_marginEnd
换句话说,您的任何视图都应如下所示:
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:text="@string/text_Field"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
注意:android:layout_marginStart="16dp"
我对以下属性的用法有点困惑。
> android:layout_marginRight and android:layout_marginEnd
> android:layout_marginLeft and android:layout_marginStart
> android:layout_toLeftOf and android:layout_toStartOf
> android:layout_toRightOf and android:layout_toEndOf
> android:layout_gravity="right|end"
> android:layout_gravity="left|start"
以下是我掌握的一些事实mentioned.Please如果我错了请纠正我。
同时支持 Ltr 和 Rtl 布局并支持 api 级别 17 之前的版本 是否建议将上述属性始终成对放置..
"start" 和 "end" 概念已添加到 API 第 17 级,并将
优先使用 api level>=17 and "right" and "left" 的 Ltr 设备 对于 api level<17 的 Ltr 设备,概念将优先
如果我们的应用程序 minskdversion >=17 那么我们可以忽略 "right" 和
"left" 属性并仅使用 "start" 和 "end" 属性- "start" 和 "end" 概念将在所有 Rtl 中优先 设备
此外,我想知道如果我成对添加上述属性,如-
,是否会对performance/optimization产生不利影响 <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|end"
android:layout_marginRight="@dimen/dp10"
android:layout_marginEnd="@dimen/dp10"
android:layout_marginLeft="@dimen/dp10"
android:layout_marginStart="@dimen/dp10"
android:layout_toLeftOf="@+id/bar"
android:layout_toStartOf="@+id/bar"
/>
要在您的应用中支持 RTL,您应该:
- 如果您的应用 API 级别 >=17,您应该使用“开始”和“结束”而不是“左”和“右”(例如:layout_marginStart)
如果您的应用 API 级别 <17,那么除了“左”和“右”之外,您还应该添加“开始”和“结束”。换句话说 - 同时使用 layout_marginRight 和 layout_marginEnd 换句话说,您的任何视图都应如下所示: android:id="@+id/textView"
android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="20dp" android:text="@string/text_Field" android:textSize="24sp" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imageView" />
注意:android:layout_marginStart="16dp"