Hen*_*hiu 60 android android-layout
这是我的观点,我希望将layout_width更改为"10dip".我该如何以编程方式执行此操作?注意,这不是LinearLayout,而是View.
<View 
    android:id="@+id/nutrition_bar_filled" 
    android:background="@drawable/green_rectangle" 
    android:layout_height="30dp"
    android:layout_width="50dp"/>       
我知道LayoutParams.如何使用它将宽度设置为10dip?
jee*_*eet 144
我相信你的问题是只动态改变视图的宽度,而上面的方法会将布局属性完全改为新的,所以我建议首先从视图中获取getLayoutParams(),然后在layoutParams上设置width,最后将layoutParams设置为视图,所以按照以下步骤来做同样的事情.
View view = findViewById(R.id.nutrition_bar_filled);
LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = newWidth;
view.setLayoutParams(layoutParams);
Sha*_*wal 16
您也可以像这样设置高度和宽度:
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();