android - 使用不同的视图进行对齐,以便它们彼此居中对齐
问题描述
Android Studio 3.5.3
我有以下 xml 并使用 constraintLayout 将 2 个视图和 TextView 相互对齐。但是,视图需要固定在 45dp 的 MarginTop。我需要调整 textview 的 MarginTop 以使它们看起来像水平对齐。我认为必须有更好的方法。所以基本上,视图需要是 45dp 的 MarginTop 并且 TextView 应该看起来像水平对齐,而无需调整 MarginTop 来尝试补偿。
<View
android:id="@+id/lineRight"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="45dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toStartOf="@+id/tvOr"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/bt_login"
android:background="@android:color/darker_gray"/>
<TextView
android:id="@+id/tvOr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
android:fontFamily="@font/roboto_regular"
android:text="OR"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/bt_login" />
<View
android:id="@+id/lineLeft"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="45dp"
android:layout_marginStart="16dp"
app:layout_constraintStart_toEndOf="@+id/tvOr"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/bt_login"
android:background="@android:color/darker_gray"/>
这是我要实现的目标的图像:
解决方案
您可以将其垂直约束tvOr
到其中一个视图,比如说左侧,然后像这样删除 marginTop:
<TextView
android:id="@+id/tvOr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto_regular"
android:text="OR"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/lineLeft"
app:layout_constraintBottom_toBottomOf="@id/lineLeft"/>
这样,TextView 将与左行垂直居中。
推荐阅读
- javascript - 从国家、州、城市和每个城市的纬度/经度的数据库查询构建 JSON
- java - 流过滤器内的Java反射
- oracle - Docker 上的 Oracle :: 警告:您不再连接到 ORACLE。SP2-0640:未连接
- flutter - Flutter - RadioListTile 有两个问题
- json - Laravel:在 post 请求中发送 JSON
- c++ - Boost Hana 实现自定义序列
- node.js - TestCafe 通过 Express 中的 POST 请求触发测试
- c# - 单击鼠标时如何跟随单位
- c# - ASP.NET 3.1 谷歌站点地图
- python - 将 JSON 值映射到 Python 中的另一个 JSON 对象