我是 Android 新手并使用相对布局。现在我正在尝试更改控件的 ID,但是一旦我更改了 ID,其他控件就会重新定位,因为它们彼此相对。他们有什么方法可以在不重新定位控件的情况下更改控件的 ID?
问问题
57 次
1 回答
0
因为相对布局中的每个对象都是根据对象 ID 排列的。一旦您更改了其中一个对象 ID,您还需要在另一侧更改其对象 ID。如果不是,布局将非常混乱,需要重新排列。
避免这种情况的最佳方法是在继续之前声明每个对象 ID。
我的建议是您一一更改对象 ID。将对象 ID 的所有字段更改为最新。
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView2"
android:layout_below="@+id/login_email"
android:layout_marginTop="46dp"
android:text="@string/password_text" />
<EditText
android:id="@+id/login_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
android:layout_alignRight="@+id/login_email"
android:layout_toRightOf="@+id/textView3"
android:ems="10"
android:password="true"
android:singleLine="true" />
<Button
android:id="@+id/register_button"
android:layout_width="100dip"
android:layout_height="40dip"
android:layout_alignRight="@+id/login_password"
android:layout_below="@+id/login_password"
android:text="@string/signup_text" />
例如,根据上面的代码,一旦您将TextView
id 从更改@+id/textView3
为@+id/password_text
. @+id/textView3
您需要在包含to的那些对象中一一更改@+id/password_text
。哪个在
<EditText
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
顺便在您的问题中尝试标记 Android。更多的人会以这种方式注意到你的问题。
于 2012-12-26T04:26:14.740 回答