我在布局xml中定义了一些视图。 e.g。
<ProgressBar
android:id="@+id/viewScanProgressWheel"
android:layout_width="150dp"
android:layout_height="@dimen/pbHeight"/>
现在,稍后我可以更改视图的高度或宽度,例如更改维度中的值或使用某些自定义属性吗?
P.S。我希望在xml中更改值,而不仅仅是在UI上。因此,不需要每次都通过java端进行所有计算。
答案 0 :(得分:0)
你的意思是在dimen.xml中改变维数的值?
我想你不能,
但您可以使用LayoutParams
yourView.setLayoutParams(new LayoutParams(width,height));
请注意,您必须从视图的父级包中分配LayoutParam
例如:
您的视图是LinearLayout的子项,请确保它的LinearLayout.LayoutParams等,以避免例外情况
通过ViewGroup的类型
答案 1 :(得分:0)
试试这个yourView.getLaoutParams().heigth = x; or yourView.getLaoutParams().width = x;
,并根据您何时调用它,您可能必须先yourView.requestLayout();
答案 2 :(得分:0)
您始终可以使用以下方式以编程方式更改布局大小:
view.layout(0, 0, viewWidth, viewHeight);