Android studio Can';t将元素约束到屏障
我遇到了一个问题,我试图将一个按钮约束到一个垂直屏障上。当我拖动要约束到屏障的按钮一侧时,它似乎无法识别屏障。它不会捕捉到它,也不会在将鼠标悬停在它上并放开后应用任何约束 我试着从YouTube复制一个简单的教程,他将按钮限制在障碍物上,时间戳链接没有问题: 我知道您可以将barrier ID添加到按钮的XML左约束中。但这并不能完全解决根本问题 我还检查了我的版本在屏障上的当前更改日志(未更改) 编辑:这是我的XML文件:Android studio Can';t将元素约束到屏障,android-studio,constraintlayout-barrier,Android Studio,Constraintlayout Barrier,我遇到了一个问题,我试图将一个按钮约束到一个垂直屏障上。当我拖动要约束到屏障的按钮一侧时,它似乎无法识别屏障。它不会捕捉到它,也不会在将鼠标悬停在它上并放开后应用任何约束 我试着从YouTube复制一个简单的教程,他将按钮限制在障碍物上,时间戳链接没有问题: 我知道您可以将barrier ID添加到按钮的XML左约束中。但这并不能完全解决根本问题 我还检查了我的版本在屏障上的当前更改日志(未更改) 编辑:这是我的XML文件: <?xml version="1.0" encoding="ut
<?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">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="TextView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="TextView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />
<android.support.constraint.Barrier
android:id="@+id/barrier3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="end"
app:constraint_referenced_ids="textView5,textView4"
tools:layout_editor_absoluteX="411dp" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
tools:layout_editor_absoluteX="173dp"
tools:layout_editor_absoluteY="64dp" />
</android.support.constraint.ConstraintLayout>
图形设计编辑器会出现一些小问题,比如你不能100%确定它没有使用
absoluteX
和absoluteY
而不是约束。我总是更喜欢文本编辑器,因为您知道代码,因为您可以看到代码并根据需要修改它
因此,我检查了您的代码,发现您使用的是absoluteX
和absoluteY
而不是按钮的约束。可以根据需要将其约束到屏障
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
//These two constraints will set the position on Horizontal axis
app:layout_constraintStart_toEndOf="@id/barrier3"
app:layout_constraintEnd_toEndOf="parent"
//You should replace it as well with constraints.
tools:layout_editor_absoluteY="64dp" />
Vertical\u bias 0.1
会给你类似的结果,它会将你的按钮定位到屏幕大小的10%,它是动态的,这意味着它在任何屏幕大小上都处于相同的位置
用这个修改你的代码,我希望你能得到答案。如果需要,您可以询问任何其他问题。图形设计编辑器会出现一些小问题,例如您无法100%确定它没有使用
absoluteX
和absoluteY
,而不是约束。我总是更喜欢文本编辑器,因为您知道代码,因为您可以看到代码并根据需要修改它
因此,我检查了您的代码,发现您使用的是absoluteX
和absoluteY
而不是按钮的约束。可以根据需要将其约束到屏障
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
//These two constraints will set the position on Horizontal axis
app:layout_constraintStart_toEndOf="@id/barrier3"
app:layout_constraintEnd_toEndOf="parent"
//You should replace it as well with constraints.
tools:layout_editor_absoluteY="64dp" />
Vertical\u bias 0.1
会给你类似的结果,它会将你的按钮定位到屏幕大小的10%,它是动态的,这意味着它在任何屏幕大小上都处于相同的位置
用这个修改你的代码,我希望你能得到答案。如果需要,您可以询问任何其他问题。如果没有您的代码,您真的希望我们如何帮助您的代码?发布了它。我真的没想到这会是一个代码问题。在设计/蓝图视图中,我无法将按钮约束到屏障。不过,我可以把一个按钮限制在一个指导原则上。如果没有你的代码,你真的希望我们在你的代码中提供帮助吗?发布了。我真的没想到这会是一个代码问题。在设计/蓝图视图中,我无法将按钮约束到屏障。不过,我可以将一个按钮约束到一个指南上。这是Android Studio的新功能。我认为这些absoluteX和absoluteY值是根据我在设计视图中拖放按钮的位置生成的。我没有对按钮应用任何约束,更关注的是为什么按钮的左约束不会捕捉/应用到设计视图中的屏障上。@MrLem实际上,它们是通过在设计编辑器中移动任何小部件生成的。但是,那';这就是你应该如何定位你的小部件,你应该使用
Constraint
。我';我已经展示了你应该如何去做。Android Studio新手。我认为这些absoluteX和absoluteY值是根据我在设计视图中拖放按钮的位置生成的。我没有对按钮应用任何约束,更关注的是为什么按钮的左约束不会捕捉/应用到设计视图中的屏障上。@MrLem实际上,它们是通过在设计编辑器中移动任何小部件生成的。但是,那';这就是你应该如何定位你的小部件,你应该使用Constraint
。我';我已经告诉你该怎么做。