代码之家  ›  专栏  ›  技术社区  ›  Elad Benda

没有“weight”属性时,android:layout\u width=“0dp”的含义是什么?

  •  0
  • Elad Benda  · 技术社区  · 6 年前

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlayGoogleMaterialIcons">
    
      <LinearLayout
          android:layout_height="wrap_content"
          android:layout_width="0dp">
    
    ...
    

    这是什么意思 android:layout_width="0dp" 不是在你的孩子身上 LinearLayout

    这是什么意思 当没有 weight 属性?

    1 回复  |  直到 5 年前
        1
  •  4
  •   gmetax    6 年前

    ConstraintLayout 如果设置了约束,则 0dp match_constraint (取全宽或全高)

    https://developer.android.com/reference/android/support/constraint/ConstraintLayout

    例子

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/tv_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            tools:text="text1" />
    
        <TextView
            android:id="@+id/tv_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toStartOf="@id/tv_3"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/tv_1"
            tools:text="text2" />
    
        <TextView
            android:id="@+id/tv_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/tv_2"
            app:layout_constraintTop_toBottomOf="@id/tv_1"
            tools:text="text3" />
    </android.support.constraint.ConstraintLayout>
    

    enter image description here

    在上面的代码(和图像)中,您可以看到 text1 TextView 宽度是书写文本所需的宽度

    对于文本2和文本3 文本框 整个宽度除以2,这就是约束所说的