在我的android工作室模拟器互相重叠的元素

问题描述:

我是Android Studio的新手,当我创建我的应用程序时,所有元素都相互重叠。我不知道如何编辑此代码。请给我一个详细的描述。在我的android工作室模拟器互相重叠的元素

布局编辑器和仿真结果

enter image description here

代码布局

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="schemas.android.com/apk/res/android"; 
    xmlns:app="schemas.android.com/apk/res-auto"; 
    xmlns:tools="schemas.android.com/tools"; 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.first.anew.MainActivity"> 

    <TextView 
     android:layout_width="216dp" 
     android:layout_height="60dp" 
     android:text="Hello World!" 
     tools:layout_editor_absoluteY="16dp" 
     tools:layout_editor_absoluteX="61dp" /> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="100dp" 
     android:layout_height="45dp" 
     android:text="Login" 
     tools:layout_editor_absoluteY="343dp" 
     tools:layout_editor_absoluteX="177dp" /> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="215dp" 
     android:layout_height="65dp" 
     android:text="username" 
     tools:layout_editor_absoluteY="117dp" 
     tools:layout_editor_absoluteX="61dp" /> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/guideline" 
     app:layout_constraintGuide_begin="20dp" 
     android:orientation="horizontal" /> 

    <EditText 
     android:id="@+id/editText" 
     android:layout_width="217dp" 
     android:layout_height="57dp" 
     android:ems="10" 
     android:inputType="textPassword" 
     tools:layout_editor_absoluteY="218dp" 
     tools:layout_editor_absoluteX="61dp" /> 
</android.support.constraint.ConstraintLayout> 
+0

尝试改变'工具:''到应用程序:'如果还是不行使用推断约束选项 –

把整个代码。如果你正在使用Relativelayout,这会发生。更改为Linearlayout在顶部我的意思是最底部的元素,并把方向垂直

+0

,如果这不能解决问题,请分享整个代码和设计。 –

+0

_ **在它们之间的上述码是有** _ Gtv

您的模拟器屏幕和布局编辑器是不同的,因为tools命名空间。简而言之,它是一种帮助您更好地可视化编写代码的工具。该工具还会生成约束条件,如tools:layout_editor_absoluteY="343dp",它通知布局编辑器应该如何绘制视图。问题是这个约束不会出现在你的应用程序代码中,导致所有视图重叠时的怪异行为(因为上面提到的约束没有在应用程序代码中使用,我们可以推断没有约束)。

既然你是初学者,我会建议以LinearLayoutRelativeLayout开头,因为我认为ConstraintLayout很难理解,使用和调试。

您可以点击推断约束按钮click on this

并运行程序again..it将解决你的问题