我试图减少列表项上的层次结构数量,因此我只有一个RelativeLayout,但我很难理解如何处理LinearLayout的相同行为。
例如:
<RelativeLayout
android:id="@+id/ordercardcontentrow"
android:layout_width="match_parent"
local:MvxBind="BackgroundColor NativeColor(BackgroundColour)"
android:layout_marginBottom="4dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_height="match_parent">
<TextView
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/order_classification_image"
android:id="@+id/order_header"
style="@style/NormalText.Regular"
android:layout_width="160dp"
android:textSize="@dimen/text_size_small"
android:ellipsize="end"
android:singleLine="true"
local:MvxBind="Text OrderHeader" />
<TextView
android:layout_marginTop="2dp"
android:layout_toRightOf="@id/order_classification_image"
android:id="@+id/post_code"
android:layout_below="@id/order_header"
style="@style/TitleText.Regular"
android:textSize="@dimen/text_size_vlarge"
android:ellipsize="end"
android:singleLine="true"
local:MvxBind="Text Postcode; Visible IsDelivery" />
<TextView
android:layout_marginTop="2dp"
android:layout_toRightOf="@id/order_classification_image"
android:id="@+id/order_id"
style="@style/NormalText.Medium"
android:layout_below="@id/post_code"
android:textSize="@dimen/text_size_vsmall"
android:textColor="@color/dark_grey"
local:MvxBind="Text FormattedOrderId" />
</RelativeLayout>
但如果中间的那个当然不可见,那么我的相对布局不会垂直居中,我怎么能实现呢?
干杯!
答案 0 :(得分:0)
尝试(根据您的需要调整):
记住,android:layout_width和height是必需的。
<RelativeLayout
android:id="@+id/ordercardcontentrow"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:layout_height="match_parent"
android:layout_marginBottom="4dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp">
<TextView
android:id="@+id/order_header"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ellipsize="end"
android:text="AAAA" />
<TextView
android:visibility="gone"
android:id="@+id/post_code"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_below="@id/order_header"
android:layout_marginTop="2dp"
android:ellipsize="end"
android:text="BBBB" />
<TextView
android:id="@+id/order_id"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_below="@id/post_code"
android:layout_marginTop="2dp"
android:text="CCCC"
/>
</RelativeLayout>
答案 1 :(得分:0)
将重心android:gravity="center"
用于relativelayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ordercardcontentrow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="4dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:gravity="center">
<TextView
android:id="@+id/order_header"
android:layout_width="160dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ellipsize="end"
android:text="sdff" />
<TextView
android:id="@+id/post_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/order_header"
android:layout_marginTop="2dp"
android:ellipsize="end"
android:text="sdff" />
<TextView
android:id="@+id/order_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/post_code"
android:layout_marginTop="2dp"
android:text="sdff" />
</RelativeLayout>