0

我有一个这样的布局:

<?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改变大小?

4

2 回答 2

1

我的建议是将 layout_weight 设置为所有组件,以便无论其内容如何,​​它们的大小都是固定的:) 有关更多详细信息,请参见此处

于 2012-09-24T10:47:10.063 回答
1

这里的问题是您ImageView的大小与您父母的大小相匹配,即您的LinearLayout(带有 id tabBar)。

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

解决方案取决于您要执行的操作,但您可以尝试:

  • 在您的ImageView
  • 使用 RelativeLayout 而不是 aLinearLayout并根据彼此对齐所有视图
于 2012-09-24T10:47:38.487 回答