我们可以更改视图在xml中定义的高度/宽度吗?

时间:2014-05-22 10:03:00

标签: android view

我在布局xml中定义了一些视图。 e.g。

<ProgressBar
android:id="@+id/viewScanProgressWheel"
android:layout_width="150dp"
android:layout_height="@dimen/pbHeight"/>

现在,稍后我可以更改视图的高度或宽度,例如更改维度中的值或使用某些自定义属性吗?

P.S。我希望在xml中更改值,而不仅仅是在UI上。因此,不需要每次都通过java端进行所有计算。

3 个答案:

答案 0 :(得分:0)

你的意思是在dimen.xml中改变维数的值?
我想你不能,

但您可以使用LayoutParams

以编程方式更改宽度/高度等
yourView.setLayoutParams(new LayoutParams(width,height));


请注意,您必须从视图的父级包中分配LayoutParam 例如:
您的视图是LinearLayout的子项,请确保它的LinearLayout.LayoutParams等,以避免例外情况

通过ViewGroup的类型

检查不同LayoutParams中的更多参数的引用

答案 1 :(得分:0)

试试这个yourView.getLaoutParams().heigth = x; or yourView.getLaoutParams().width = x;,并根据您何时调用它,您可能必须先yourView.requestLayout();

答案 2 :(得分:0)

您始终可以使用以下方式以编程方式更改布局大小:

view.layout(0, 0, viewWidth, viewHeight);