私はAndroidを初めて使用し、RelativeLayoutを使用しています。現在、コントロールのIDを変更しようとしていますが、IDを変更するとすぐに、他のコントロールは相互に相対的な位置に再配置されます。コントロールを再配置せずにコントロールのIDを変更する方法はありますか?
1 に答える
0
相対レイアウト内のすべてのオブジェクトは、オブジェクト ID に基づいて配置されるためです。オブジェクト ID の 1 つを変更したら、反対側のオブジェクト ID も変更する必要があります。そうしないと、レイアウトがめちゃくちゃになり、再配置する必要があります。
これを回避する最善の方法は、続行する前にすべてのオブジェクト ID を宣言することです。
オブジェクト ID を 1 つずつ変更することをお勧めします。オブジェクト 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を含むオブジェクトを 1 つずつ変更する必要があります@+id/password_text
。にある
<EditText
android:layout_alignBaseline="@+id/textView3"
android:layout_alignBottom="@+id/textView3"
ところで、あなたの質問にも Android をタグ付けしてみてください。そうすれば、より多くの人があなたの質問に気付くでしょう。
于 2012-12-26T04:26:14.740 に答える