项目不会留在Android Studio中使用拖放功能放置的位置

时间:2017-03-24 06:11:20

标签: android android-studio drag-and-drop emulation

因此Android Studio在设计选项卡中具有拖放功能。我可以将元素放在我想要的位置,并且屏幕上的布局看起来很棒。

然而,当我去运行app模拟器时,它看起来完全不同。一切都被推到了屏幕的左上角,远离我将其置于设计模式的地方。

有没有办法让你的元素在模拟器中以相同的方式显示,就像你将它们置于设计模式一样?现在我每次都要回去编辑所有代码。

我的代码如下,以及下面的图片链接,以进一步澄清我的观点。Comparison of Design mode vs App Emulator

<?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="com.example.luke.currencyconverter.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter The Amount in Dollars"
        tools:layout_editor_absoluteX="-159dp"
        tools:layout_editor_absoluteY="126dp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="403dp"
        android:layout_height="0dp"
        android:text="Enter The Amount in Dollars:"
        android:textColor="@android:color/black"
        android:textSize="22sp"
        tools:layout_editor_absoluteX="33dp"
        tools:layout_editor_absoluteY="365dp" />

    <ImageView
        android:id="@+id/currency"
        android:layout_width="361dp"
        android:layout_height="450dp"
        app:srcCompat="@drawable/currency"
        tools:layout_editor_absoluteX="12dp"
        tools:layout_editor_absoluteY="-117dp" />

    <Button
        android:id="@+id/convert"
        android:layout_width="361dp"
        android:layout_height="wrap_content"
        android:onClick="convert"
        android:text="Convert"
        tools:layout_editor_absoluteX="12dp"
        tools:layout_editor_absoluteY="462dp" />

    <EditText
        android:id="@+id/dollarField"
        android:layout_width="368dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="numberDecimal"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="408dp" />

</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

Android的拖放只会将对象放在屏幕内。为了保持它,你应该修改xml,以便对象相互约束。

您可以使用相对布局或约束布局,以便更轻松地设计布局。

答案 1 :(得分:0)

我明白了。我正在使用“约束布局”,我需要使用“相对布局”。