programing

ImageView에 대해 어떻게 setLayoutParams ()를 설정합니까?

nasanasas 2020. 10. 28. 08:10
반응형

ImageView에 대해 어떻게 setLayoutParams ()를 설정합니까?


나는을 설정할 LayoutParams에 대한 ImageView하지만, 그것을 할 수있는 적절한 방법을 찾을 수가 기운 다.

API에서 다양한 문서 만 찾을 수 ViewGroups있지만 ImageView. 그러나이 ImageView기능이 있는 것 같습니다.

이 코드는 작동하지 않습니다 ...

myImageView.setLayoutParams(new ImageView.LayoutParams(30,30));

어떻게하나요?


ImageView가있는 ViewGroup의 LayoutParams를 설정해야합니다. 예를 들어 ImageView가 LinearLayout 내부에있는 경우

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
yourImageView.setLayoutParams(layoutParams);

이는 뷰에 할당 할 크기를 알아야하는 뷰의 부모이기 때문입니다.


오래된 스레드이지만 지금은 같은 문제가 발생했습니다. 누군가 이것을 만나면 그는 아마도 다음 대답을 찾을 것입니다.

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
yourImageView.setLayoutParams(layoutParams);

이것은 LinearLayout에 하위보기로 ImageView를 추가하는 경우에만 작동합니다. RelativeLayout에 추가하면 다음을 호출해야합니다.

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(30, 30);
yourImageView.setLayoutParams(layoutParams);

기존 ImageView의 레이아웃을 변경하는 경우 현재 LayoutParams를 가져 와서 너비 / 높이를 변경하고 다시 설정할 수 있습니다.

android.view.ViewGroup.LayoutParams layoutParams = myImageView.getLayoutParams();
layoutParams.width = 30;
layoutParams.height = 30;
myImageView.setLayoutParams(layoutParams);

그것이 당신의 목표인지는 모르겠지만, 그렇다면 이것이 아마도 가장 쉬운 해결책 일 것입니다.


ImageView는 ViewGroup.LayoutParams를 사용하는 View에서 setLayoutParams를 가져옵니다. 이를 사용하면 대부분의 경우 충돌이 발생하므로 View.class에있는 getLayoutParams ()를 사용해야합니다. 이것은 ImageView의 부모 뷰를 상속하고 항상 작동합니다. 여기에서 확인할 수 있습니다. ImageView가보기를 확장합니다.

ImageView가 ' image_view ' 로 정의되고 너비 / 높이 int가 'thumb_size' 로 정의되어 있다고 가정합니다.

이를 수행하는 가장 좋은 방법 :

ViewGroup.LayoutParams iv_params_b = image_view.getLayoutParams();
iv_params_b.height = thumb_size;
iv_params_b.width = thumb_size;
image_view.setLayoutParams(iv_params_b);

참고 URL : https://stackoverflow.com/questions/2965662/how-do-you-setlayoutparams-for-an-imageview

반응형