gpt4 book ai didi

android - 布局-开始-结束,左右概念

转载 作者:行者123 更新时间:2023-12-05 00:17:16 29 4
gpt4 key购买 nike

我对以下属性的用法有点困惑。

> 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 级别 17 之前的版本是否建议将上述属性始终成对放置..

  • API Level 17 中添加了“开始”和“结束”概念,并将
    优先使用 api level>=17 和“right”和“left”的 Ltr 设备概念将优先于具有 api 级别的 Ltr 设备<17

  • 如果我们的应用程序 minskdversion >=17 那么我们可以忽略“正确”和
    “left”属性并仅使用“start”和“end”属性

  • “开始”和“结束”概念将在所有 Rtl 中优先设备

另外我想知道如果我成对添加上述属性,在性能/优化方面是否有任何不利影响-

 <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换句话说,您的任何 View 都应如下所示: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"

Source

关于android - 布局-开始-结束,左右概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956714/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com