ImageView在文本字段大小后动态增加和减少

时间:2012-09-24 10:24:33

标签: android android-layout

我有这样的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#272727"
android:orientation="horizontal" >

<ImageButton
    android:id="@+id/BtnSlide"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@null"
    android:src="@drawable/lin" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="275dp"
    android:layout_height="50dp"
    android:gravity="center"
    android:paddingLeft="20dp"
    android:paddingRight="100dp"
    android:text="HEADER"
    android:textAppearance="?android:attr/textAppearanceMedium" />


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="2.2dp"
    android:src="@drawable/logo" />

ImageView位于屏幕右侧。但是我遇到了一个问题,ImageView高度和宽度的增加和减少取决于TextView的长度,如何在没有ImageView更改大小的情况下正常工作?

2 个答案:

答案 0 :(得分:1)

我的建议是将layout_weight设置为所有组件,以便无论其内容如何都修复它们的大小:)有关详细信息,请参阅here

答案 1 :(得分:1)

这里的问题是,您的ImageView与您父亲的身份相匹配,即LinearLayout(带有标签tabBar)。

LinearLayout将内容包装在他的身高上,因此,它总结了他内容的所有“高度”。 LinearLayout的高度为TextView + ImageButton的高度。然后,ImageView将匹配该高度。

解决方案取决于您尝试做什么,但您可以尝试:

  • ImageView
  • 中设置预定义的高度
  • 使用RelativeLayout而不是LinearLayout并根据彼此对齐所有视图