android - 如何在不使用 ConstraintLayout 中的边距属性的情况下相对于屏幕宽度设置 2 个视图之间的空间
问题描述
我试图像这样在两个视图(水平和垂直)之间设置一个空间
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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"
tools:context=".Fragments.SetProfileFragment">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="4dp"
android:text="Test 1"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:text="Test 2"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/textView1"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
但我希望两者之间的空间TextViews
为屏幕的 1%。是否可以?
解决方案
但我想将两个 TextView 隔开 1% 的屏幕。是否可以?
为父级设置起始和顶部约束:使用具有根百分比的水平和垂直准则
ConstraintLayout
:1% 被认为是 0.01,因为 1% 等于全屏宽度 >> 所以,使用
app:layout_constraintGuide_percent="0.01"
您可以将约束应用于
textview1
,并且为了不重复自己,您可以将约束textView2
应用于 的 BaseLinetextview1
。对于在 TextViews 之间设置 1% 的屏幕宽度:使用限制到末尾的空间,
textView1
其百分比为屏幕宽度的 1%app:layout_constraintWidth_percent="0.01"
:。然后将 约束textView2
到空间,而不是textView
。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Fragments.SetProfileFragment">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.01" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.01" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test 1"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="@id/guideline"
app:layout_constraintTop_toTopOf="@id/guideline2" />
<Space
android:id="@+id/space"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_constraintStart_toEndOf="@id/textView1"
app:layout_constraintWidth_percent="0.01" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test 2"
android:textSize="20sp"
app:layout_constraintBaseline_toBaselineOf="@id/textView1"
app:layout_constraintStart_toEndOf="@id/space"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
推荐阅读
- mosquitto - 我可以在 mosquitto 中创建一个监听器,绑定到一个可能不存在的设备吗?
- spring-boot - 如何在 Spring Boot 服务的 sqlite 中创建模式?
- css - LI 元素上的文本颜色不会改变
- image - Flutter:解码PNG图像返回空值
- python - 使用 django 在 MAC 计算机上使用 Docker 时如何创建 ubuntu 环境
- c++ - 将二维 L 系统转换为线的最快方法是什么
- python - 元素点击被拦截(点击工作完美)(硒python)(弹出)
- javascript - Javascript - var 值在回调中没有改变?
- python - 字符串之间的Python正则表达式多行搜索
- redux - 使用 @angular-redux/store 过滤来自 store 属性的空值