こんにちは。相対的なレイアウトに少し問題があり、その理由がわかりません。通常、他のビューに対して相対的に配置しようとするときは、「@id」を使用しますが、まったく配置されていないようです。値「@ + id」を使用した場合にのみ、正しく機能します。以下の例では、水平方向に 4 つのビューがあります。「percentage_id」を持つ TextView をイメージビューの間に配置しますが、最後のビューに近づけます。
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/sales_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:text="£0.00"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#AADDEE"
android:textSize="18sp"
android:textStyle="bold" >
</TextView>
<ImageView
android:id="@+id/arrow_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toRightOf="@id/sales_id"
android:baselineAlignBottom="true"
android:src="@drawable/rightarrow" >
</ImageView>
<TextView
android:id="@+id/percentage_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/imagearrow_id"
android:layout_toRightOf="@id/arrow_id"
android:text="0.00%"
android:textColor="#606090"
android:textSize="18sp" >
</TextView>
<ImageView
android:id="@+id/imagearrow_id"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="2dp"
android:layout_weight="0"
android:gravity="right"
android:padding="5dp"
android:src="@drawable/rightarrow" >
</ImageView>
</RelativeLayout>
何をしても、相対レイアウトのデフォルト位置に移動するだけで、「@id」の代わりに「@+id」を使用した場合にのみ、正しい位置に移動します。参照しようとしているビューがまだ宣言されていない場合、エラーが発生することがありますが、テキストビューを最後に配置しても、「@ + id」を使用するまで、必要な場所に取得できません。
これは、相対レイアウトでも機能する新しいものですか? 「@id」で機能しない理由がわからないためです。私はこのままでいいですか?誰も同じ問題に遭遇しましたか?ポジショニングにも「@+id」を使用するネット上のいくつかのチュートリアルを参照してください。ありがとうございました