이번 포스팅에서는 안드로이드에서 특정 개체의 크기를, 현재 보고 있는 액티비티 화면의 비율로 조절하는 방법에 대해 알아본다. 스마트폰마다 화면 비율이 다르기 때문에, 특정 픽셀값의 절대치로 개체의 크기를 지정할 경우 보는 사람마다 크기가 달라보인다는 한계점이 있다.
보고있는 화면의 특정 비율, 예를 들어 화면 절반(50%) 만큼만 개체를 띄우고 싶을 경우에 아래와 같은 방법을 사용하면 된다.
1 2 3 4 5 6 7 8 9 10 11 | <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.constraint.Guideline android:id="@+id/guideline" android:layout_width="wrap_content" android:layout_height="1dp" android:orientation="horizontal" app:layout_constraintGuide_percent="0.5" /> </android.support.constraint.ConstraintLayout> | cs |
보다시피, match_parent로 ConstraintLayout 를 전체 화면으로 지정해준 후, 그 안에 원하는 비율만큼의 Guideline을 넣는다. (현재 0.5 = 50%)
그 후, 가이드라인에 맞춰서 원하는 개체의 Constraint 구속을 맞춰주면 원하는 비율만큼 개체의 크기를 조절할 수 있다.
예를 들어, 아래와 같이 ImageView를 구속하면, 화면의 특정 비율만큼만 뷰의 크기를 지정할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.constraint.Guideline android:id="@+id/guideline" android:layout_width="wrap_content" android:layout_height="1dp" android:orientation="horizontal" app:layout_constraintGuide_percent="0.5" /> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/guideline" app:layout_constraintTop_toTopOf="parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:src="@drawable/myimage" /> </LinearLayout> </android.support.constraint.ConstraintLayout> | cs |
'Developer > Android, Java' 카테고리의 다른 글
[안드로이드] Retrofit 기본 예제 (서버 통신) (260) | 2019.03.21 |
---|---|
[안드로이드] EditText 키보드 숨기는 기능 (자동으로 키보드 뜨는 것 방지) (258) | 2019.03.19 |
[안드로이드] 지하철 역 클릭 시 이벤트 구현하기 1편 (258) | 2019.01.11 |
[안드로이드] 커스텀 ListView 예제 (네이버 검색 API 결과적용) (269) | 2019.01.09 |
[안드로이드] 네이버 검색 API 사용 예제 (258) | 2019.01.07 |
댓글