我试图在Android上构建以下布局而没有任何成功。
我希望在屏幕上显示文字。它可以占据整个宽度,但必须水平居中。
在同一行,屏幕右侧我想显示一个小布局。它不应该影响主要文本的水平居中,并且主要文本不应该在右侧显示的布局后面显示。
我的布局背景不能使用硬色,因为它在位图上的透明背景上显示...
关于如何实现这一目标的任何想法?
我可以使用RelativeLayout,在这种情况下,主文本不会基于屏幕中间居中(它需要考虑正确的布局宽度) 或者文本显示在正确的布局后面......
编辑: 这是我的一个测试
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom|center_horizontal"
android:layout_centerInParent="true"
android:fontFamily="sans-serif"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="17sp"
android:text="very looooooooooooooooooooooooooooooooong text"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true"
android:layout_alignParentRight="true"
android:padding="3dp"
android:visibility="visible" >
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:filter="true"
android:src="@drawable/device_access_time" />
<Spinner
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:0)
RelativeLayouts遵循z-index的原则,因此如果您首先放置右对齐布局,则会在顶部正确绘制居中文本视图。