了解为什么某些内容在视图中显示而其他内容未显示

时间:2015-01-24 20:11:06

标签: android textview android-linearlayout

我正在使用android map utils来聚集地图上的标记。除此之外,我正在创建一个自定义信息窗口。我已经对我的infowindow布局进行了两次实现。

在实施过程中,所有内容都会正确显示,如果我在其中一个列中添加任何其他TextView,则会增加信息窗口高度并显示内容。

在第五行之后的实现B中,内容未显示。

如果实施A显示所有内容,为什么我不保留实施A?

简单。由于左侧的TextView与右侧的TextView相关,因此TextView的顶部必须位于相同的“行”中。

实施A

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginBottom="10dp">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="20sp"/>
    </LinearLayout>

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

        <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:orientation="vertical" >

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                     />

        </LinearLayout>

        <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:orientation="vertical" >

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

            <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

        </LinearLayout>
    </LinearLayout>
</LinearLayout>

实施B

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="vertical"
            android:layout_marginBottom="10dp">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="20sp"/>
    </LinearLayout>

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>

        <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

            <TextView
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"/>

        </LinearLayout>
    </LinearLayout>
</LinearLayout>

有人可以解释一下我该怎样做才能将实施B的所有内容显示在我的信息窗口上?

1 个答案:

答案 0 :(得分:0)

解决方案很简单:您应该使用可滚动的包装器。在Android中,默认情况下视图不可滚动。这就是为什么你看不到你的内容的原因。它只是被推到底部&#34;你的布局。

最简单的解决方案是使用ScrollView。在其中包含您的主要布局,以使您的整个视图可滚动。

但是,在这里,您似乎想要显示多个元素并对它们应用相同的布局。然后,您应该浏览ListViewGridView组件。使用它们,您可以逐个显示多个元素,并且每次都使用相同的设计,这要归功于适配器。

请记住ListViewGridView有自己的滚动系统。您不得将它们与ScrollView一起使用。此外,在Android中,您不得在同一视图/布局中使用两个可滚动内容。

修改

您的TextView在B实施中不可见,因为您设置了错误的layout_weight值:使用1代替0.5

您希望视图具有相同的权重,共享可用空间。但是,如果您希望一个人使用75%的空间而另一个只需要25%,则必须将他们各自的layout_weight设置为0.750.25