Android 工作室布局债券

Android Studio layout bonds

我为 activity 制作了一个布局,其中包含几个按钮和文本视图。 但有一个问题。 如果我尝试移动任何按钮或文本,整个事情就会变得一团糟,我的意思是其他所有东西都在移动,就像它们都是由某种纽带连接的一样。 我如何打破这些联系并使它们全部独立? 我尝试编辑 xml 但没有帮助,他们仍在互相关注。 例如,这是一个按钮:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Calculate"
    android:id="@+id/buttonFcalculate"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/textFacc"
    android:layout_alignEnd="@+id/textFacc"
    android:layout_marginBottom="87dp" />

我删除了 android:layout_alignEnd="@+id/textFacc 但还是一样 请帮忙。 如果需要,我可以 post 图片或代码。 提前致谢!

编辑:

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="cannon.gaming.physicsdroid.ForceActivity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Force"
    android:id="@+id/textForce"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal|numberSigned"
    android:ems="10"
    android:id="@+id/editText"
    android:layout_above="@+id/textFacc"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="64dp" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal|numberSigned"
    android:ems="10"
    android:id="@+id/editText2"
    android:layout_above="@+id/buttonFcalculate"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="31dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Mass (in kilograms):"
    android:id="@+id/textFmass"
    android:layout_alignBottom="@+id/editText"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="42dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Acceleration (in m/s^2):"
    android:id="@+id/textFacc"
    android:layout_above="@+id/editText2"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Calculate"
    android:id="@+id/buttonFcalculate"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/textFacc"
    android:layout_alignEnd="@+id/textFacc"
    android:layout_marginBottom="87dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="="
    android:id="@+id/textFequal"
    android:layout_alignBaseline="@+id/buttonFcalculate"
    android:layout_alignBottom="@+id/buttonFcalculate"
    android:layout_toRightOf="@+id/buttonFcalculate"
    android:layout_toEndOf="@+id/buttonFcalculate"
    android:layout_marginLeft="22dp"
    android:layout_marginStart="22dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="0"
    android:id="@+id/textFresult"
    android:layout_alignBaseline="@+id/textFequal"
    android:layout_alignBottom="@+id/textFequal"
    android:layout_toRightOf="@+id/editText2"
    android:layout_toEndOf="@+id/editText2" />

<Spinner
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/spinner3"
    android:layout_below="@+id/textForce"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="29dp" />

我不确定问题出在哪里,但我认为一切都已连接,因为 android:layout-align你用过。

我建议您使用 LinearLayoutorientation:vertical

我做了这个xml,看看它是否适合你:

<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="cannon.gaming.physicsdroid.ForceActivity"
android:orientation="vertical">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Force"
    android:id="@+id/textForce" />
<Spinner
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/spinner3"
    android:layout_marginTop="29dp" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Mass (in kilograms):"
    android:id="@+id/textFmass"
    android:layout_marginTop="12dp" />
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal|numberSigned"
    android:ems="10"
    android:id="@+id/editText"
    android:layout_marginBottom="64dp" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:text="Acceleration (in m/s²):"
    android:id="@+id/textFacc"/>
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal|numberSigned"
    android:ems="10"
    android:id="@+id/editText2"
    android:layout_above="@+id/buttonFcalculate"
    android:layout_marginBottom="31dp" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Calculate"
        android:id="@+id/buttonFcalculate"
        android:layout_marginBottom="87dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="="
        android:id="@+id/textFequal"
        android:layout_marginLeft="22dp"
        android:layout_marginStart="22dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="0"
        android:id="@+id/textFresult"
        android:layout_marginLeft="32dp"/>
</LinearLayout>