我几天来一直在努力解决这个问题,而且我的想法已经用完了。
在我的列表视图中,根据状态,每行可以有一个向左刷新的垂直条,颜色不同。 “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>
所以,
任何帮助非常感谢。感谢
答案 0 :(得分:1)
首先,你可能在这里使用水平LinearLayout而不是RelativeLayout(因为你反正只有两个孩子,你实际上并没有像你使用它那样保存任何布局复杂性。)
更改为LinearLayout可能会解决此问题,但我怀疑在将膨胀的RelativeLayouts上的高度作为行匹配时,您可能会遇到特定问题;请参阅对此SO question和this SO question的答案的评论。