Android:如何以编程方式设置tablerow背景的宽度

时间:2014-05-11 21:17:15

标签: java android

澄清我的问题: 我有一个tablelayout,里面有一些桌子。每个表行中只有一个textview。

我想要做的是将tablerow的背景作为该特定tablerow的进度条。有什么方法可以将进度条作为tablerow的背景吗?

2 个答案:

答案 0 :(得分:0)

使用FrameView,您可以拥有两个视图,第一个视图用作背景,第二个视图用透明背景绘制。

例如,这里是一个由相机预览制成的三明治,一个半透明层(最初是不可见的),以及一个相对布局,其子项被绘制在顶部:

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <SurfaceView
        android:id="@+id/camera_preview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true" />

    <View
        android:id="@+id/transparency"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#80000000"
        android:visibility="invisible"
        />
    <RelativeLayout
        android:id="@+id/ontop"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        ...
    </RelativeLayout>
 </FrameLayout>

答案 1 :(得分:0)

有两种选择:

  1. 您可以扩展ProgressBar类以在其前面添加文本。这是一个example.只需将此视图放在TableRow中并根据需要进行调整。

  2. 您可以使用ImageView以编程方式设置宽度作为单元格的背景。此示例here

  3. 我首先尝试#2,因为它似乎是最直接的,没有额外的课程。