Android 为什么不';当裕度相同时,这两个分量是否正好在彼此上方?
我对Android编程非常陌生(第一天),所以我可能错过了一些非常明显的东西 在这种情况下,为什么“权重”TextView和它的EditText组件不完全在彼此之上?NumberPicker和“Reps”文本视图也是如此。据我所知,由于两个组件的宽度相同,并且边距也相同,所以它们应该正好位于彼此上方 供参考的XML:-Android 为什么不';当裕度相同时,这两个分量是否正好在彼此上方?,android,android-layout,Android,Android Layout,我对Android编程非常陌生(第一天),所以我可能错过了一些非常明显的东西 在这种情况下,为什么“权重”TextView和它的EditText组件不完全在彼此之上?NumberPicker和“Reps”文本视图也是如此。据我所知,由于两个组件的宽度相同,并且边距也相同,所以它们应该正好位于彼此上方 供参考的XML:- <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLa
<?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:layout_gravity="center"
android:background="@android:color/background_light"
tools:context="host.abhi.rmcalc.MainActivity">
<TextView
android:id="@+id/noRepsHeading"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:gravity="center"
android:text="Reps"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/noReps"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/enteredWeightHeading"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/enteredWeight"
android:layout_width="110dp"
android:layout_height="107dp"
android:layout_marginBottom="80dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:defaultFocusHighlightEnabled="true"
android:ems="10"
android:filterTouchesWhenObscured="false"
android:fontFamily="@font/archivo_black"
android:gravity="center"
android:hint="00"
android:inputType="textPersonName|numberDecimal"
android:textSize="50sp"
app:layout_constraintBottom_toTopOf="@+id/oneRepMax"
app:layout_constraintEnd_toStartOf="@+id/noReps"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/enteredWeightHeading"
tools:focusableInTouchMode="true" />
<TextView
android:id="@+id/oneRepMax"
android:layout_width="391dp"
android:layout_height="0dp"
android:layout_marginBottom="150dp"
android:layout_marginTop="8dp"
android:background="@android:color/darker_gray"
android:fontFamily="@font/archivo_black"
android:gravity="center"
android:textColor="?attr/colorPrimaryDark"
android:textSize="100sp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/oneRepMaxHeading" />
<NumberPicker
android:id="@+id/noReps"
android:layout_width="110dp"
android:layout_height="109dp"
android:layout_marginBottom="78dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
app:layout_constraintBottom_toTopOf="@+id/oneRepMax"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/enteredWeight"
app:layout_constraintTop_toBottomOf="@+id/noRepsHeading" />
<TextView
android:id="@+id/enteredWeightHeading"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:gravity="center"
android:text="Weight"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/enteredWeight"
app:layout_constraintEnd_toStartOf="@+id/noRepsHeading"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/oneRepMaxHeading"
android:layout_width="283dp"
android:layout_height="53dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="180dp"
android:gravity="center"
android:text="1RM Estimated"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
这就是罪魁祸首
<TextView
android:id="@+id/enteredWeightHeading"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:gravity="center"
android:text="Weight"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/enteredWeight"
app:layout_constraintEnd_toStartOf="@+id/noRepsHeading"
app:layout_constraintHorizontal_chainStyle="spread_inside" <!--PROBLEM HERE-->
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
希望这有帮助
编辑
从
- 排列:视图均匀分布(在考虑了边距之后)。这是默认设置
- 内部展开:第一个和最后一个视图附加到链两端的约束上,其余视图均匀分布
- 加权:当链设置为“排列”或“内部排列”时,可以通过将一个或多个视图设置为“匹配约束”(0dp)来填充剩余空间。默认情况下,空间在设置为“匹配约束”的每个视图之间均匀分布,但可以使用“布局约束”“垂直权重”和“布局约束”“垂直权重”属性为每个视图指定重要权重。如果您熟悉线性布局中的布局和权重,则其工作方式相同。因此,权重值最高的视图获得最大的空间量;具有相同权重的视图获得相同的空间量
- 打包:视图打包在一起(在考虑页边距后)。然后,可以通过更改链的头视图偏移来调整整个链的偏移(左/右或上/下)
抱歉,我不理解术语“彼此上方”“权重”TextView的中心与下面的EditText的中心不一致@WebInsightapp:layout_constraintTop_toBottomOf=“@+id/enteredWeightHeading”在第1版文本中是错误的。两者都应该是顶部而不是顶部和顶部bottom@WebInsight谢谢你的回复。但是,目前还不清楚到底是什么解决了这个问题。问题是您正在将第1个编辑文本的顶部与第1个文本视图的底部对齐。它的行为完全符合书面规定。请尝试将第一版文本的顶部与第一版文本的底部对齐。谢谢您花时间回答@阿吉尔。
<TextView
android:id="@+id/enteredWeightHeading"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:gravity="center"
android:text="Weight"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintBottom_toTopOf="@+id/enteredWeight"
app:layout_constraintEnd_toStartOf="@+id/noRepsHeading"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />