我有一种奇怪的情况。我有一个相对简单的布局,有一些行和一个图像。
我的布局如下(高级绘图):
红色方块是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>
看起来我正在使用一些我不应该使用的LinearLayouts,但它在实际布局中包含更多元素,我只是稍微剥离它以便在这里分析更简单。但通常这是我的xml。
你们有什么建议为什么会发生这种情况?我也尝试将图像放入FrameLayout,同样......
谢谢!