Android视图layout_width – 如何以编程方式更改?

这是我的观点,我希望将layout_width更改为“10dip”。 我如何编程? 请注意,这不是一个线性布局,这是一个视图。

<View android:id="@+id/nutrition_bar_filled" android:background="@drawable/green_rectangle" android:layout_height="30dip" android:layout_width="50dip"> </View> 

我知道LayoutParams。 我如何使用它将宽度设置为10dip?

我相信你的问题是dynamic改变视图的宽度,而上面的方法将完全改变布局属性到新的,所以我build议首先从视图中获取LayoutParams,然后在layoutParmas上设置宽度,最后设置layoutparams到视图,所以下面下面的步骤做同样的事情。

 View view_instance = (View)findViewById(R.id.nutrition_bar_filled); LayoutParams params=view_instance.getLayoutParams(); params.width=newOne; view_instance.setLayoutParams(params); 

你可以像这样设置高度和宽度:

 viewinstance.setLayoutParams(new LayoutParams(width, height)); 

尝试使用

 View view_instance = (View)findViewById(R.id.nutrition_bar_filled); view_instance.setWidth(10); 

使用Layoutparams来设置宽度和高度,如下所示。

 LayoutParams lp = new LayoutParams(10,LayoutParams.wrap_content); View_instance.setLayoutParams(lp); 

或者干脆:

 view.getLayoutParams().width = 400; view.requestLayout();