如何在Android上实现以下布局

时间:2016-01-07 17:59:14

标签: android layout

我试图在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>

1 个答案:

答案 0 :(得分:0)

RelativeLayouts遵循z-index的原则,因此如果您首先放置右对齐布局,则会在顶部正确绘制居中文本视图。