programing

Android View layout_width-프로그래밍 방식으로 변경하는 방법?

nasanasas 2020. 12. 28. 08:14
반응형

Android View layout_width-프로그래밍 방식으로 변경하는 방법?


이것이 제보기이며 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으로 설정하려면 어떻게 사용합니까?


귀하의 질문은 뷰의 너비 만 동적으로 변경하는 것이지만 위의 메서드는 레이아웃 속성을 완전히 새로운 것으로 변경하므로 먼저 뷰에서 getLayoutParams ()를 제안한 다음 layoutParams에 너비를 설정하고 마지막으로 layoutParams를 뷰에 설정하는 것이 좋습니다. 따라서 다음 단계를 따라 동일한 작업을 수행하십시오.

View view = findViewById(R.id.nutrition_bar_filled);
LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = newWidth;
view.setLayoutParams(layoutParams);

다음과 같이 높이와 너비를 설정할 수도 있습니다.

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();

ReferenceURL : https://stackoverflow.com/questions/10159372/android-view-layout-width-how-to-change-programmatically

반응형