Android ImageView在ListView行中没有垂直拉伸

时间:2010-11-26 21:47:18

标签: android

我几天来一直在努力解决这个问题,而且我的想法已经用完了。

在我的列表视图中,根据状态,每行可以有一个向左刷新的垂直条,颜色不同。 “bar”除了状态的可视化表示外没有其他目的,也不可点击。

我使用ImageView实现垂直条,背景设置为具有所需颜色的drawable。问题是垂直条不伸展,即使我指定了fill_parent也只有1像素高。

行布局如下:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/id1"
        android:scaleType="fitXY"
        android:layout_width="5dp"
        android:layout_height="fill_parent"
        android:background="@drawable/d1" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/id1">
...

(为简单起见,将第二个相对布局的内容留作目的)

我的可绘制d1看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/c1" />
    <corners android:topRightRadius="5dip" android:bottomLeftRadius="5dip" />
</shape>

所以,

  1. 为什么ImageView不垂直拉伸?
  2. 有没有更好的实施方式 这比使用ImageView? (一世 尝试了一个简单的视图 背景颜色但它没有显示 起来)
  3. 任何帮助非常感谢。感谢

1 个答案:

答案 0 :(得分:1)

首先,你可能在这里使用水平LinearLayout而不是RelativeLayout(因为你反正只有两个孩子,你实际上并没有像你使用它那样保存任何布局复杂性。)

更改为LinearLayout可能会解决此问题,但我怀疑在将膨胀的RelativeLayouts上的高度作为行匹配时,您可能会遇到特定问题;请参阅对此SO questionthis SO question的答案的评论。