我可以使用dip调用View的setWidth()吗?

时间:2013-01-28 20:58:03

标签: android xml layout

我目前正在将XML布局转换为java代码。我想要完全复制我所拥有的内容,但是我找不到几个函数来设置View的属性。

        <TableRow
            android:layout_width="match_parent"
            android:weightSum="2">
            <TextView
                android:text="@string/parameters_insensitive_trip"
                android:layout_width="0dip"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center" />

            <Spinner
                android:id="@+id/insensitiveTripSpinner"
                android:layout_width="0dip"
                android:prompt="@string/spinner_insensitive_trip"
                android:layout_weight="1"
                android:gravity="center" />
        </TableRow>

使用match_parent从不适用于setHeight()或setWidth(),使用0dip也不会工作,我找不到任何与视图权重有关的内容。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

您正在查看正确的布局类,TableLayout.LayoutParams派生自LinearLayout.LayoutParams,因此它具有权重和重力字段,您只需设置它们即可。

至于dip,你可以调用TypedValue.applyDimension将所需的dip值转换为像素。