我正在尝试更多地习惯ConstraintLayout,看看它有多么有用,可以避免嵌套视图。我在FrameLayout下面有两个LinearLayout,它们被限制在彼此的顶部/底部,如下所示:
我限制了这两个(第二个约束到父底部),以便横向布局相应地调整。但是,这些线性布局之间的间隙太宽,因为它分布在整个垂直视图上。有没有办法可以缩短这个差距,同时避免将它们嵌套到父LinearLayout中?
我的XML:
<LinearLayout
android:id="@+id/dropbox_upload_btn"
android:layout_width="306dp"
android:layout_height="35dp"
android:gravity="center"
android:background="@android:color/background_light"
app:layout_constraintBottom_toTopOf="@+id/box_upload_btn"
app:layout_constraintTop_toBottomOf="@+id/imageFrameLayout"
android:layout_marginLeft="45dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="45dp"
app:layout_constraintRight_toRightOf="parent"
android:elevation="2dp"
app:layout_constraintVertical_bias="0.22">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/dropbox_android"
android:layout_marginStart="15dp"
android:layout_weight="0.35"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/dropbox_upload"
android:layout_weight="2.43"/>
</LinearLayout>
<LinearLayout
android:id="@+id/box_upload_btn"
android:layout_width="306dp"
android:layout_height="35dp"
android:gravity="center"
android:background="@android:color/background_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/dropbox_upload_btn"
android:layout_marginLeft="45dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="45dp"
app:layout_constraintRight_toRightOf="parent"
android:elevation="2dp"
app:layout_constraintVertical_bias="0.076">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:src="@drawable/box_logo"
android:layout_marginStart="15dp"
android:layout_weight="0.35"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/box_upload"
android:layout_weight="2.43"/>
</LinearLayout>
答案 0 :(得分:0)
删除这些行。
app:layout_constraintBottom_toTopOf="@+id/box_upload_btn"
app:layout_constraintTop_toBottomOf="@+id/dropbox_upload_btn"
然后尝试减少保证金。
答案 1 :(得分:0)
看起来你在垂直链中有这两个视图。此配置的默认值是CHAIN_SPREAD
的链样式,它将为您提供间隙。将以下内容添加到链的顶视图中。
layout_constraintVertical_chainStyle="CHAIN_PACKED"
然后,您可以使用边距或垂直偏差来控制间距。
我希望这会有所帮助。