상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
소개팅 후 일부러 연락을 늦추는 사람도 있나요?
소개팅 후 이런 상황이 반복되면 자존감이 떨어질 수 있나요?
김치찜은 지역 음식인가요, 전국적인가요?
김치찌개에 라면을 넣는 조합은 어떠한가요?
김치찌개에 전분이나 밀가루를 넣는 경우가 있나요?
결정장애, 그리고 그 해결책: 6가지 전략
곰팡이 냄새가 나는 에어컨을 사용할 때 호흡기 알레르기 증상을 예방할 수 있는 방법은 무엇인가요?
만약 테슬라가 10년 이상 꾸준히 상승한다면, TSLL을 장기 보유하는 전략은 여전히 위험할까요?
아스파라거스 간 건강과 관련된 효능
아스파라거스 주스 다이어트 활용법
번아웃을 극복하는 8가지 심리적 기술!
당신의 번아웃을 관리하기 위한 5가지 기술!
Previous
Next
수정하기 - HorizontalScrollView에서 자식 뷰의 비율을 유지하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`HorizontalScrollView`에서 자식 뷰의 비율을 유지하는 방법은 여러 가지가 있지만, 기본적으로 원하는 비율을 보장하기 위해 자식 뷰의 크기를 조절하는 것이 중요합니다. 다음은 이를 구현하는 방법에 대한 몇 가지 단계입니다. 1. 자식 뷰의 비율 설정 자식 뷰(예: `ImageView`, `TextView`, `LinearLayout` 등)의 크기를 동적으로 조정하여 비율을 유지해야 합니다. 일반적으로 이 작업은 `onMeasure()` 메서드를 오버라이드하여 처리합니다. 2. Custom View 만들기 비율을 유지하는 커스텀 뷰를 만들어 `HorizontalScrollView`의 자식으로 사용할 수 있습니다. 다음은 Aspect Ratio를 유지하는 간단한 커스텀 뷰의 예입니다. ```kotlin class RatioImageView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0 ) : AppCompatImageView(context, attrs, defStyle) { private var aspectRatio: Float = 1f // 기본 비율 1:1 fun setAspectRatio(width: Float, height: Float) { aspectRatio = width / height requestLayout() } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { val width = MeasureSpec.getSize(widthMeasureSpec) val height = (width / aspectRatio).toInt() setMeasuredDimension(width, height) } } ``` 3. XML 레이아웃 설정 `HorizontalScrollView` 내에서 자식 뷰로 위에서 만든 `RatioImageView`를 사용할 수 있습니다. ```xml <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="match_parent"> <your.package.name.RatioImageView android:layout_width="200dp" android:layout_height="wrap_content" app:aspectRatio="16:9" android:src="@drawable/your_image" /> <your.package.name.RatioImageView android:layout_width="200dp" android:layout_height="wrap_content" app:aspectRatio="16:9" android:src="@drawable/your_image" /> <!-- 다른 뷰 추가 --> </LinearLayout> </HorizontalScrollView> ``` 4. Aspect Ratio 설정 각 `RatioImageView`에 대해 비율을 `setAspectRatio()` 메서드를 통해 설정할 수 있습니다. 비율은 폭과 높이에 따라 다르게 설정할 수 있습니다. 5. 동적 생성 선택 자식 뷰를 코드에서 동적으로 생성한다면, 생성 시 `setAspectRatio()`를 호출하여 비율을 유지하도록 설정할 수 있습니다. 결론 이와 같은 방법으로 `HorizontalScrollView` 내에서 자식 뷰의 비율을 유지할 수 있습니다. `onMeasure()`를 오버라이드하여 원하는 비율을 설정하고, 이를 XML 또는 코드에서 쉽게 적용할 수 있도록 하면 됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기