布局权重参数在setImageBitmap之后删除

时间:2013-04-12 20:18:18

标签: android imageview android-linearlayout

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

我的布局如下(高级绘图):

enter image description here

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

喜欢这个模型(绿色方块是新图像):

enter image description here

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>

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

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

谢谢!

0 个答案:

没有答案