美好的一天,我对相对布局有一个小问题,我不知道为什么。通常,当您尝试相对于其他视图定位时,您使用“@id”,但它似乎根本没有定位。只有当我使用值“@+id”时它才会正确运行。在下面的示例中,我在水平方向上有 4 个视图,我希望将带有“percentage_id”的 TextView 定位在 imageviews 之间,但更接近最后一个。
<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”进行定位。谢谢