ConstraintLayout 不支持垂直权重 1:6:1
ConstraintLayout does NOT support weight 1:6:1 in vertical
<?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"
android:padding="10dp"
tools:backgroundTint="#ff00ffff">
<View
android:id="@+id/spc_core_t"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff00ff00"
app:layout_constraintBottom_toTopOf="@+id/spc_core"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_weight="1" />
<View
android:id="@+id/spc_core_b"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff0000ff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spc_core"
app:layout_constraintVertical_weight="1" />
<View
android:id="@+id/spc_core"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="#ffff0000"
app:layout_constraintBottom_toTopOf="@+id/spc_core_b"
app:layout_constraintTop_toBottomOf="@+id/spc_core_t"
app:layout_constraintVertical_weight="6" />
</android.support.constraint.ConstraintLayout>
- 这是我的代码,但是没有显示。
- 当我把
app:layout_constraintVertical_weight
改成其他值时,一切正常。
- 我也试过其他组合,1:6:1、2:12:2等都没有用。
- 我目前的临时解决方案是将6改为6.00001
但现在我想知道为什么会这样。
我不知道为什么会发生这种情况,但我在使用约束布局库的 1.0.2 版时能够重现它。但是,我无法使用库的 1.1.0 版重现它。
更改您的 build.gradle 文件以使用版本 1.1.0:
compile 'com.android.support.constraint:constraint-layout:1.1.0-beta4'
<?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"
android:padding="10dp"
tools:backgroundTint="#ff00ffff">
<View
android:id="@+id/spc_core_t"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff00ff00"
app:layout_constraintBottom_toTopOf="@+id/spc_core"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_weight="1" />
<View
android:id="@+id/spc_core_b"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="#ff0000ff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spc_core"
app:layout_constraintVertical_weight="1" />
<View
android:id="@+id/spc_core"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:background="#ffff0000"
app:layout_constraintBottom_toTopOf="@+id/spc_core_b"
app:layout_constraintTop_toBottomOf="@+id/spc_core_t"
app:layout_constraintVertical_weight="6" />
</android.support.constraint.ConstraintLayout>
- 这是我的代码,但是没有显示。
- 当我把
app:layout_constraintVertical_weight
改成其他值时,一切正常。 - 我也试过其他组合,1:6:1、2:12:2等都没有用。
- 我目前的临时解决方案是将6改为6.00001
但现在我想知道为什么会这样。
我不知道为什么会发生这种情况,但我在使用约束布局库的 1.0.2 版时能够重现它。但是,我无法使用库的 1.1.0 版重现它。
更改您的 build.gradle 文件以使用版本 1.1.0:
compile 'com.android.support.constraint:constraint-layout:1.1.0-beta4'