我有一个屏幕,有五个按钮和五个复选框。但是这个按钮依赖于它们在屏幕上的位置。例如,在XML
文件中,如果我改变第一个按钮的位置,其他按钮和checkBoxes
位置也会改变。但我不想要这个。我只想改变一个按钮的位置。
这是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<Button
android:id="@+id/buttonN381 "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/buttoN291 "
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/checkBox3"
android:layout_toStartOf="@+id/checkBox3"
android:onClick="kelimeGösterimi"
android:text="31 - 40" />
<Button
android:id="@+id/buttoN291 "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/checkBox2"
android:layout_toStartOf="@+id/checkBox2"
android:onClick="kelimeGösterimi"
android:text="41 - 50" />
<Button
android:id="@+id/buttoN371"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/buttonN381 "
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/checkBox4"
android:layout_toStartOf="@+id/checkBox4"
android:onClick="kelimeGösterimi"
android:text="21 - 30" />
<Button
android:id="@+id/buttoN611"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/buttoN371"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/checkBox5"
android:layout_toStartOf="@+id/checkBox5"
android:onClick="kelimeGösterimi"
android:text="11 - 20" />
<Button
android:id="@+id/buttoN601"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/buttoN611"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/checkBox6"
android:layout_toStartOf="@+id/checkBox6"
android:onClick="kelimeGösterimi"
android:text="1 - 10" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/buttonN381 "
android:layout_toEndOf="@+id/buttonN381 "
android:layout_toRightOf="@+id/buttonN381 " />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/buttoN371"
android:layout_toEndOf="@+id/buttoN371"
android:layout_toRightOf="@+id/buttoN371" />
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/buttoN611"
android:layout_toEndOf="@+id/buttoN611"
android:layout_toRightOf="@+id/buttoN611" />
<CheckBox
android:id="@+id/checkBox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/buttoN601"
android:layout_toEndOf="@+id/buttoN601"
android:layout_toRightOf="@+id/buttoN601" />
<CheckBox
android:id="@+id/checkBox6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttoN601"
android:layout_alignBottom="@+id/buttoN601"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="11dp"
android:layout_marginRight="11dp" />
</RelativeLayout>
当然,如果你试图移动任何按钮,这将影响其他视图,因为你使用RelativeLayout并分配上面,belwo,toLeftOf,toRightOf ...等这些参数将视图链接在一起,以便清楚地了解RelativeLayout see this
要解决这个问题,您可以尝试阅读有关Android Layouts主题的许多解决方案
我现在将使用LinearLayout为您提供一个简单的解决方案。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal"
>
<LinearLayout
android:layout_width="0do"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="0.8"
>
<Button
android:id="@+id/buttonn381"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="kelimeGösterimi"
android:text="31 - 40" />
<Button
android:id="@+id/button291"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="kelimeGösterimi"
android:text="41 - 50" />
<Button
android:id="@+id/button371"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="kelimeGösterimi"
android:text="21 - 30" />
<Button
android:id="@+id/button611"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="kelimeGösterimi"
android:text="11 - 20" />
<Button
android:id="@+id/button601"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="kelimeGösterimi"
android:text="1 - 10" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="0.2"
>
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/checkBox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<CheckBox
android:id="@+id/checkBox6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>