我对使用以下属性感到困惑。
> 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"
以下是我提到的一些事实。如果我错了,请纠正我。
支持Ltr和Rtl布局,并支持api level 17之前的版本 是否建议将上述属性成对出现..
在API级别17中添加了“开始”和“结束”概念,并且将是 对于具有api级别&gt; = 17和“右”和“左”的Ltr设备优先 对于api级别<17
如果我们的应用minskdversion是&gt; = 17那么我们可以忽略“正确”和
“left”属性并仅使用“start”和“end”属性
此外,我想知道如果我成对地添加上述属性,在性能/优化方面是否有任何不利影响,如< - p>
<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"
/>
答案 0 :(得分:1)
要在您的应用中支持RTL,您应该:
如果您的应用API级别<17,那么您应该添加“开始”并结束“除了”左侧“和”右侧“。换句话说 - 使用layout_marginRight和layout_marginEnd 换句话说,您的任何视图应如下所示: 机器人: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”