约束布局隐藏带有链权重的视图
Constraint Layout hide View with chain weight
嗨,
我想在 ConstraintLayout 中让 2 个视图平均分布屏幕宽度。
使用链条和重量来实现。
<Button
android:id="@+id/buttonLeft"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:text="Left"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="@+id/guidelineLeft"
app:layout_constraintRight_toLeftOf="@+id/buttonRight"
tools:layout_editor_absoluteY="0dp"/>
<Button
android:id="@+id/buttonRight"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:text="Right"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/buttonLeft"
app:layout_constraintRight_toLeftOf="@+id/guidelineRight"
tools:layout_editor_absoluteY="0dp"/>
现在我想隐藏右边的视图和左边的视图以填充宽度。
我认为这可以开箱即用,因为 visiblity behaviour
但是由于左按钮对右按钮有约束,所以它不会增长。
有什么解决办法吗?
隐藏右视图有效:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<Button
android:id="@+id/buttonLeft"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:text="Left"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="@+id/guidelineLeft"
app:layout_constraintRight_toLeftOf="@+id/buttonRight"
tools:layout_editor_absoluteY="0dp"/>
<Button
android:id="@+id/buttonRight"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:text="Right"
android:visibility="gone"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/buttonLeft"
app:layout_constraintRight_toLeftOf="@+id/guidelineRight"
tools:layout_editor_absoluteY="0dp"/>
<android.support.constraint.Guideline
android:id="@+id/guidelineLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintGuide_begin="20dp"
android:orientation="vertical" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guidelineRight"
android:orientation="vertical"
app:layout_constraintGuide_end="70dp" />
</android.support.constraint.ConstraintLayout>
...但隐藏左视图不会。我在这里提交了一个错误:https://code.google.com/p/android/issues/detail?id=234897
嗨,
我想在 ConstraintLayout 中让 2 个视图平均分布屏幕宽度。 使用链条和重量来实现。
<Button
android:id="@+id/buttonLeft"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:text="Left"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="@+id/guidelineLeft"
app:layout_constraintRight_toLeftOf="@+id/buttonRight"
tools:layout_editor_absoluteY="0dp"/>
<Button
android:id="@+id/buttonRight"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:text="Right"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/buttonLeft"
app:layout_constraintRight_toLeftOf="@+id/guidelineRight"
tools:layout_editor_absoluteY="0dp"/>
现在我想隐藏右边的视图和左边的视图以填充宽度。
我认为这可以开箱即用,因为 visiblity behaviour
但是由于左按钮对右按钮有约束,所以它不会增长。
有什么解决办法吗?
隐藏右视图有效:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<Button
android:id="@+id/buttonLeft"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:text="Left"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="@+id/guidelineLeft"
app:layout_constraintRight_toLeftOf="@+id/buttonRight"
tools:layout_editor_absoluteY="0dp"/>
<Button
android:id="@+id/buttonRight"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:text="Right"
android:visibility="gone"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/buttonLeft"
app:layout_constraintRight_toLeftOf="@+id/guidelineRight"
tools:layout_editor_absoluteY="0dp"/>
<android.support.constraint.Guideline
android:id="@+id/guidelineLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintGuide_begin="20dp"
android:orientation="vertical" />
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guidelineRight"
android:orientation="vertical"
app:layout_constraintGuide_end="70dp" />
</android.support.constraint.ConstraintLayout>
...但隐藏左视图不会。我在这里提交了一个错误:https://code.google.com/p/android/issues/detail?id=234897