这是正在运行的应用
现在的问题是,如何使布局在应用中以与Android Studio布局编辑中布局相同的方式显示?我错过了什么?
布局的XML代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.recicla.info.reciclainfo.LoginActivity"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp">
<EditText
android:id="@+id/loginUsername"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Nome de usuário"
android:inputType="textPersonName"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="26dp" />
<EditText
android:id="@+id/loginPassword"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="81dp" />
<Button
android:id="@+id/btnLogin"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:text="Login"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="136dp" />
<TextView
android:id="@+id/tvRegisterNewUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Registre-se"
tools:layout_editor_absoluteX="157dp"
tools:layout_editor_absoluteY="193dp" />
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:4)
您尚未为这些视图提供约束,因此它们都会转到坐标0,0(左上角)。请阅读有关如何使用ConstraintLayout here.
的更多信息您可以使用垂直线性布局,它可以为您提供相同的布局,但更简单。此外,您应该尝试学习如何使用XML定位视图,因为这样可以创建更灵活的布局。
这是您的更新代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="8dp"
tools:context="com.recicla.info.reciclainfo.LoginActivity">
<EditText
android:id="@+id/loginUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Nome de usuário"
android:inputType="textPersonName" />
<EditText
android:id="@+id/loginPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
<Button
android:id="@+id/btnLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login" />
<TextView
android:id="@+id/tvRegisterNewUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:gravity="center_horizontal"
android:text="Registre-se" />
</LinearLayout>
答案 1 :(得分:0)
尝试使用此代码而不是当前的xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.recicla.info.reciclainfo.LoginActivity">
<EditText
android:id="@+id/loginUsername"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Nome de usuário"
android:inputType="textPersonName" />
<EditText
android:id="@+id/loginPassword"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
<Button
android:id="@+id/btnLogin"
android:layout_width="368dp"
android:layout_height="wrap_content"
android:text="Login" />
<TextView
android:id="@+id/tvRegisterNewUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Registre-se" />
</RelativeLayout>
希望它有所帮助!