This is my view, and I wish to change layout_width to "10dip". How do I do so programmatically? Note, this is not a LinearLayout, it's a View.
<View
android:id="@+id/nutrition_bar_filled"
android:background="@drawable/green_rectangle"
android:layout_height="30dp"
android:layout_width="50dp"/>
I know about LayoutParams. How do I use it to set the width to 10dip?
This question is related to
android
android-layout
I believe your question is to change only width of view dynamically, whereas above methods will change layout properties completely to new one, so I suggest to getLayoutParams() from view first, then set width on layoutParams, and finally set layoutParams to the view, so following below steps to do the same.
View view = findViewById(R.id.nutrition_bar_filled);
LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = newWidth;
view.setLayoutParams(layoutParams);
You can set height and width like this also:
viewinstance.setLayoutParams(new LayoutParams(width, height));
try using
View view_instance = (View)findViewById(R.id.nutrition_bar_filled);
view_instance.setWidth(10);
use Layoutparams to do so where you can set width and height like below.
LayoutParams lp = new LayoutParams(10,LayoutParams.wrap_content);
View_instance.setLayoutParams(lp);
Or simply:
view.getLayoutParams().width = 400;
view.requestLayout();
Source: Stackoverflow.com