当我在xml文件中更改android:id时,布局中的项目变得无组织
当android:id在xml中更改时文件布局变得像这样
<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而我只想使用实际布局 任何帮助将不胜感激,请不要介意,如果它是幼稚的我是初学者
答案 0 :(得分:0)
您的button1
个layout_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)