프로그래밍 방식으로 imageview의 높이를 matchparent로 설정


84

imageview 의 높이 를 matchparent 로 설정해야합니다. 그것이 내가 설정하는 방법을 알고있는 고정 높이 programatically.if.

그러나 어떻게 그것을 matchparent로 설정할 수 있습니까?

편집하다:

실제로 부모 레이아웃의 높이는 동적이므로 imageview의 높이를 부모의 높이로 만들어야합니다.


2
난에서 언급 한 모든 방법을 시도 answers.but는 :( 일치 부모로서 높이 설정되지 않은
안드로 소녀

1
당신은 당신의 허용 대답을 검토해야합니다
CularBytes

답변:


-20

LayoutParams를 시작합니다.

부모의 너비와 높이를 할당하고이를 imageview의 setLayoutParams 메서드에 전달합니다.


3
부모의 실제 치수를 전달해서는 안됩니다. 실제 값 대신 항상 MATCH_PARENT를 사용하십시오. 일반적으로 모든 화면에서 완전히 다르게 보일 수 있으므로 절대 크기를 사용하지 않는 것이 좋습니다. 나는 가중치를 사용하는 것을 선호합니다.
Daniel Bo

12
솔직히 말해서 이것은 주석이어야합니다
Neon Warge

259
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

12
LayoutParams에서 Alt + Enter를 누르는 순간 너무 많은 클래스가 표시됩니다. 어떤 것을 사용할지 말씀해 주시겠습니까?
Uday

부모 관점은 무엇입니까?
C. Leung

4
LayoutParams를 설정하려는 뷰 클래스를 사용해야합니다. 즉, LinearLayout.LayoutParams를 사용하여 유모차를 Your LL로 설정합니다. :)
Andrew

원본 이미지의 크기에 따라 높이를 동적으로 지정하고 너비는 MATCH_PARENT로 지정하려면 어떻게해야합니까?
Taylor

import android.view.ViewGroup
Alan Nelson

57
imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

7
imageview를 프로그래밍 방식으로 만들었 기 때문에 처음으로 매개 변수를 설정하는 경우 null 포인터 오류 (또는 텍스트보기에서 수행)가 발생하고 다른 모든 곳에서 발생합니다.
Tatarize

15
imageView.setLayoutParams
    (new ViewGroup.MarginLayoutParams
        (width, ViewGroup.LayoutParams.MATCH_PARENT));

레이아웃 매개 변수 유형은 상위보기 그룹에 따라 다릅니다. 잘못 입력하면 예외가 발생합니다.


1
"너비"는 무엇입니까?
FlorianB 2016 년

9

Kotlin 사용자 용

val params = mImageView?.layoutParams as FrameLayout.LayoutParams
params.width = FrameLayout.LayoutParams.MATCH_PARENT
params.height = FrameLayout.LayoutParams.MATCH_PARENT
mImageView?.layoutParams = params

여기 내가 사용하는 FrameLayout.LayoutParams내보기 때문에 ( ImageView) 부모가FrameLayout


4

나는 같은 문제가 있었다. 먼저 설정하여 해결 :

imageView.setMinHeight(0);
imageView.setMinimumHeight(0);

그리고 :

imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

setMinHeight는 ImageView에 의해 정의되고 setMinimumHeight는 View에 의해 정의됩니다. 문서에 따르면 두 값 중 더 큰 값이 사용되므로 둘 다 설정해야합니다.


3

부모와 일치시키려는 경우에 이것을 시도 할 수 있습니다. 치수 배열은 너비와 높이 순서입니다.

web = new WebView(this);
        web.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

1

MATCH_PARENT 상수 또는 숫자 값 -1을 사용할 수 있습니다.


1
MATCH_PARENT가 컨텍스트에 정의되지 않았습니다. 당신은 'LayoutParams.MATCH_PARENT'말을해야
Akshat 아가 왈
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.