android:id更改时布局更改

时间:2015-06-24 06:07:54

标签: android android-relativelayout

当我在xml文件中更改android:id时,布局中的项目变得无组织before

当android:id在xml中更改时文件布局变得像这样 enter image description here

<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.rms.Suppliers" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:text="Supplier DETAIL" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginRight="18dp"
    android:layout_marginTop="40dp"
    android:layout_toLeftOf="@+id/textView1"
    android:text="NAME" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_alignLeft="@+id/editText3"
    android:ems="20"
    android:inputType="textPersonName" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView5"
    android:layout_alignBottom="@+id/textView5"
    android:layout_toRightOf="@+id/button1"
    android:ems="10"
    android:inputType="phone" />

<EditText
    android:id="@+id/editText3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView4"
    android:layout_alignBottom="@+id/textView4"
    android:layout_toRightOf="@+id/button1"
    android:ems="20"
    android:inputType="textPostalAddress" />

<Button
    android:id="@+id/button3"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_alignBaseline="@+id/button4"
    android:layout_alignBottom="@+id/button4"
    android:layout_alignLeft="@+id/button2"
    android:text="Delete" />

<Button
    android:id="@+id/button2"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_above="@+id/button4"
    android:layout_alignRight="@+id/textView1"
    android:text="Modify" />

<Button
    android:id="@+id/button6"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_alignBaseline="@+id/button5"
    android:layout_alignBottom="@+id/button5"
    android:layout_alignLeft="@+id/button3"
    android:text="Show" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView2"
    android:layout_below="@+id/editText1"
    android:layout_marginTop="22dp"
    android:text="ADDRESS" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView4"
    android:layout_below="@+id/editText3"
    android:layout_marginTop="15dp"
    android:text="CONTACT" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView5"
    android:layout_below="@+id/editText2"
    android:layout_marginTop="17dp"
    android:text="Item" />

<Button
    android:id="@+id/button4"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_below="@+id/button1"
    android:layout_toLeftOf="@+id/button3"
    android:text="View" />

<Button
    android:id="@+id/button5"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_below="@+id/button3"
    android:layout_toLeftOf="@+id/editText2"
    android:text="View all" />

<Button
    android:id="@+id/button1"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_alignLeft="@+id/button4"
    android:layout_below="@+id/textView3"
    android:layout_marginTop="96dp"
    android:text="Add" />

我得到了这种情况发生的原因,因为我使用RelativeLayout然后使用toLeftOf,belowOf但是我的意思是什么解决方案是有任何代码/关键字使其成为permanentmt而我只想使用实际布局 任何帮助将不胜感激,请不要介意,如果它是幼稚的我是初学者

3 个答案:

答案 0 :(得分:0)

您的button1layout_below属性使用了textView3的身份

如果您将textView3的ID更改为textView33,则还必须在button1中进行更改,因为textView3的ID在button1中被引用}

<Button
  android:id="@+id/button1"
  android:layout_width="100dp"
  android:layout_height="40dp"
  android:layout_alignLeft="@+id/button4"
  android:layout_below="@+id/textView33"  //had to make one change here too
  android:layout_marginTop="96dp"
  android:text="Add" />

答案 1 :(得分:0)

当您使用相对布局时,布局中使用的视图(如TextView,Button,EditText等)相对于彼此放置。对于在布局中相对放置视图,它将使用标识(android:id="@+id)作为参考。

代表:

<Button
        android:id="@+id/button5"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_below="@+id/button3"
        android:layout_toLeftOf="@+id/editText2"
        android:text="View all" />

按钮位于editText2左侧。

所以不要在创建后更改ID。如果您想要更改,您可能需要重新安排视图(如textview,button ....)

答案 2 :(得分:0)

在参考文献中,请勿写“@ + id&#39;”,仅使用&#39; @ id&#39;进行参考。

例如,更改:

android:layout_toLeftOf="@+id/editText2"

为:

android:layout_toLeftOf="@id/editText2"

您应该记住,必须事先声明您的引用(在这种情况下,必须在xml文件中的button5上方声明editText2)