在构建时收到“找不到attribute layout_constraintStart_toBottomOf”错误。请提出建议。尝试在build.gradle中尝试实现“ com.android.support.constraint:constraint-layout:1.1.3”,但没有成功。另外,尝试重新打开并清理项目,然后重新构建项目。但是存在相同的问题。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guitar1"
android:fitsSystemWindows="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="56dp"
android:paddingLeft="24dp"
android:paddingRight="24dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/textInputLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="8dp">
<EditText
android:id="@+id/input_name"
android:layout_width="328dp"
android:layout_height="42dp"
android:layout_marginStart="24dp"
android:layout_marginBottom="45dp"
android:backgroundTint="#ffffff"
android:hint="Name"
android:inputType="textEmailAddress"
android:textColorHint="#FFFFFF"
app:layout_constraintStart_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Email Label -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/textInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:layout_marginBottom="8dp">
<EditText
android:id="@+id/input_email"
android:layout_width="328dp"
android:layout_height="42dp"
android:layout_marginStart="24dp"
android:layout_marginBottom="45dp"
android:backgroundTint="#ffffff"
android:hint="Email"
android:inputType="textEmailAddress"
android:textColorHint="#FFFFFF"
app:layout_constraintStart_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Password Label -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/textInputLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">
<EditText
android:id="@+id/input_password"
android:layout_width="328dp"
android:layout_height="40dp"
android:layout_marginStart="24dp"
android:layout_marginBottom="45dp"
android:backgroundTint="#ffffff"
android:hint="Password"
android:inputType="textPassword"
android:textColorHint="#FFFFFF"
app:layout_constraintStart_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/textInputLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">
<EditText
android:id="@+id/input_mobile"
android:layout_width="328dp"
android:layout_height="40dp"
android:layout_marginStart="24dp"
android:layout_marginBottom="45dp"
android:backgroundTint="#ffffff"
android:hint="Mobile No."
android:inputType="textPassword"
android:textColorHint="#FFFFFF"
app:layout_constraintStart_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<Button
android:id="@+id/btn_login"
android:layout_width="328dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"
android:padding="12dp"
android:background="#ff1e56"
android:text="Register"
android:textColor="@color/accent"
android:fontFamily="@font/latoregular"
/>
<TextView android:id="@+id/link_signup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:text="Login Instead!"
android:layout_marginStart="24dp"
android:textColor="#29c7ac"
android:gravity="center"
android:textSize="16dip"/>
</LinearLayout>
</ScrollView>
答案 0 :(得分:2)
我想您想将此EditText放在parent下,更确切地说,将其放在约束开始的顶部,对吗?术语start_toStartOf表示其他内容的开头(左侧)以及其他内容的开头(左侧)。因此,没有办法将某物的左边放在某物下面。您可以将某物的顶部或底部放置在某物之下或之上。在这种情况下,您必须使用以下代码之一:
app:layout_constraintTop_toTopOf="parent" (I think this is the most correct)
app:layout_constraintTop_toBottomOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="parent"
在文档中了解更多信息:https://developer.android.com/reference/android/support/constraint/ConstraintLayout
额外: 您不需要太多的ConstraintLayout即可执行此操作,
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="24dp"
android:paddingTop="56dp"
android:paddingRight="24dp">
<EditText
android:id="@+id/input_name"
android:layout_width="0dp"
android:layout_height="42dp"
android:layout_marginStart="24dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="53dp"
android:backgroundTint="#ffffff"
android:hint="Name"
android:inputType="textEmailAddress"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!-- Email Label -->
<EditText
android:id="@+id/input_email"
android:layout_width="0dp"
android:layout_height="42dp"
android:layout_marginStart="24dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="53dp"
android:backgroundTint="#ffffff"
android:hint="Email"
android:inputType="textEmailAddress"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_name" />
<!-- Password Label -->
<EditText
android:id="@+id/input_password"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="53dp"
android:backgroundTint="#ffffff"
android:hint="Password"
android:inputType="textPassword"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_email" />
<EditText
android:id="@+id/input_mobile"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="24dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="53dp"
android:backgroundTint="#ffffff"
android:hint="Mobile No."
android:inputType="textPassword"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_password" />
<Button
android:id="@+id/btn_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:background="#ff1e56"
android:fontFamily="@font/latoregular"
android:padding="12dp"
android:text="Register"
android:textColor="@color/accent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/input_mobile" />
<TextView
android:id="@+id/link_signup"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:gravity="center"
android:text="Login Instead!"
android:textColor="#29c7ac"
android:textSize="16dip"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/btn_login" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>