3

我有一个 Google Maps API v2 的自定义信息窗口,它使用通过在我的类中覆盖 getInfoWindow 添加的 RelativeLayout。此布局在第一行有一个带有标题的 TextView,在下一行有三个 TextView,一个左对齐,另一个居中,第三个右对齐。它可以工作,但是窗口占据了整个屏幕,这在平板电脑等大屏幕中非常难看。

我试图将 RelativeLayout 的宽度设置为某个固定值(比如说“50dp”)或“wrap_content”,但它总是占据整个屏幕。

这是布局的 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/bus_stop_info_window"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ffffffff" >

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:text="A title" >
    </TextView>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        android:gravity="left"
        android:text="Test1" >
    </TextView>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        android:gravity="center"
        android:text="Test2" >
    </TextView>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"
        android:gravity="left"
        android:text="Test3" >
    </TextView>

</RelativeLayout>

我怎样才能达到预期的效果?

4

1 回答 1

7

为此,将根元素设为线性布局并将相对布局放在其中。这样窗口就不会填满平板电脑的整个屏幕。这不会影响相对布局宽度是 wrap_content 还是固定大小。

你可以在这里试试我的答案

于 2013-08-16T12:05:45.327 回答