1

我有一个奇怪的情况。我有一个相对简单的布局,有一些行和一个图像。

我的布局看起来像这样(高级绘图):

在此处输入图像描述

红色方块是 ImageView,其他是 LinearLayouts 和 TextViews。我的问题是,如果我使用 Java 代码 (setImageBitmap) 来更新红色 ImageView 的位图图像,那么 Text 3 的 LinearLayout 的权重似乎消失了,它的高度将等于 Text 3 的 TextView 的高度。

就像在这个模型上一样(绿色方块是新图像):

在此处输入图像描述

Text 3 的 LinearLayout 的 Weight 设置为 1,因此它的高度将强制 Text 4 的 LinearLayout 被推到屏幕底部。所以 Text 4 不会再在底部了,它会在 Text 3 的 LinearLayout 的底部之后立即跳转。

这是我的布局xml:

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

    <TextView
        android:id="@+id/textView6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Text 1" />

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

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

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

                <TextView
                    android:id="@+id/text2text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Text 2" />
            </LinearLayout>

            <ImageView
                android:id="@+id/Pic2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/timage" />

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/Text3Container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical" >

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

            <TextView
                android:id="@+id/TextView02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text 3" />
        </LinearLayout>

    </LinearLayout>

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

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <TextView
                android:id="@+id/TextView03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text 4" />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

看起来我使用了一些我不应该使用的线性布局,但它在实际布局中包含更多元素,我只是将它剥离了一点,以便在这里更简单地分析。但通常这是我的 xml。

你们有什么建议为什么会发生这种情况?我还尝试将图像放入 FrameLayout 中,同样...

谢谢!

4

0 回答 0