【问题标题】:Constraints Layout of Android Studio doesn't work correctlyAndroid Studio 的约束布局无法正常工作
【发布时间】:2017-08-03 17:49:24
【问题描述】:

我是 Android 新手,我只是在 android studio 上创建了我的第一个简单应用程序,但约束布局在真实手机或虚拟手机上无法正常工作。我打算在布局中心放置一个按钮,并在布局顶部放置一个编辑文本,但是当我运行时,它们都位于右上角布局的相同位置,所以我无法输入文本并按下按钮.
我尝试使用RelativeLayout 并且它有效,所以我猜问题来自ConstraintLayout。请帮我解决它!

我已经安装了“ConstraintsLayout For Android 1.0.1 或更低版本”和“Solver For ConstraintsLayout 1.0.1 或更低版本”。在 build.gradle 中添加了 compile 'com.android.support.constraint:constraint-layout:1.0.1' 我使用 Android Studio 2.3 版。 这是我的 xml 代码:

<?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"
tools:context="my.android.myfirstapp.MainActivity">


<Button
    android:id="@+id/btn_jump"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Jump Activity"
    tools:layout_editor_absoluteX="128dp"
    tools:layout_editor_absoluteY="269dp" />

<EditText
    android:id="@+id/edt_Name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    android:text=""
    tools:layout_editor_absoluteX="85dp"
    tools:layout_editor_absoluteY="62dp" />
</android.support.constraint.ConstraintLayout>

这是我运行时的简单应用程序:

【问题讨论】:

标签: java android android-layout android-studio mobile


【解决方案1】:

您的约束设置不正确,如果您不确定,请单击下图中显示的按钮以查看问题所在。通常所有布局问题都会显示在此处。

使用下面的代码可以解决约束问题。

<?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"
    tools:layout_editor_absoluteY="81dp"
    tools:layout_editor_absoluteX="0dp">


    <Button
        android:id="@+id/btn_jump"
        android:layout_width="128dp"
        android:layout_height="48dp"
        android:text="Jump Activity"
        tools:layout_constraintTop_creator="1"
        tools:layout_constraintRight_creator="1"
        tools:layout_constraintBottom_creator="1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/edt_Name"
        android:layout_width="215dp"
        android:layout_height="43dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text=""
        tools:layout_constraintTop_creator="1"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginTop="107dp"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintHorizontal_bias="0.502" />
</android.support.constraint.ConstraintLayout>

希望这个帮助,如果它有效,请标记答案

【讨论】:

  • xml 代码是由 android studio 生成的,我没有看到任何像你的图像那样的警告或错误。但是您的代码运行完美,然后我发现您的某些代码使其正常工作,它是: app:layout_constraintBottom_toBottomOf="parent", app:layout_constraintRight_toRightOf="parent", app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf= “家长” 最后,感谢您的帮助! (对不起,我不知道如何在此评论中制作代码格式)
猜你喜欢
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多