PercentLayout이 Deprecated로 바뀌었기 때문에 ConstraintLayout으로 비율을 지정합니다
6130 단어 Android
예전 기사PercentRelativeLayout의 사용 가능한 노트 등은 사용하기 편하기 때문에 반드시 그것을 찾아 대체해야 한다.
조건은 지난번과 마찬가지로 카드 전체가 화면 너비와span수에 따라 달라진다.
오른쪽 ImageView의 폭은 카드의 절반이며 폭은 고정보다 큽니다.
왼쪽 날짜의 위치는 오른쪽 ImageView의 높이에 따라 카드 아래를 따릅니다.
이런 View 제작은 ConstraintLayout을 활용할 수 있다.
build.gradle에 다음 프로그램 라이브러리를 추가합니다.
build.gradle
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
Constraint Layout은 Support Library의 동반자로 취급되지만 술집에서 사용하는 규칙은 다르다.https://dl.google.com/dl/android/maven2/com/android/support/constraint/group-index.xml
이번에는 컨스트레이트 라우트를 채널로 지면을 제작했다.
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff">
<android.support.constraint.Guideline
android:id="@+id/vertical_center_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintGuide_percent="0.5"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#999"
app:layout_constraintDimensionRatio="h,8:5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/vertical_center_guideline" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="タイトル"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/vertical_center_guideline"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="YYYY年MM月dd日"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="@id/image_view"
app:layout_constraintEnd_toStartOf="@id/vertical_center_guideline"/>
</android.support.constraint.ConstraintLayout>
ConstraintLayout에 대한 축척을 지정하려면 Guideline을 사용합니다.orientation
에서는 가이드라인의 구성 방향을 지정하고, layout_constraintGuide_percent
에서는 flat를 사용하여 모 레이아웃의 구성 위치를 기준으로 축척을 지정합니다.ImageView의 폭은 가이드라인의 오른쪽에 설정하고 싶어서
layout_constraintStart_toStartOf
에서 가이드라인의 id를 지정하고 layout_constraintEnd_toEndOf
에서 parent
를 지정합니다.레이아웃의 크기를 비율로 지정하려면
layout_constraintDimensionRatio
를 사용합니다.ImageView의 너비에 대해 높이를 결정하려면
h,8:5
와 같이 높이(h) 또는 너비(w)를 계산하고 幅:高さ
의 비율로 기술하십시오.TextView의 폭은 Guildline의 왼쪽으로 제한되어 있기 때문에 TextView의
layout_constraintEnd_toStartOf
에서 Guideline의 id를 지정합니다.날짜의 TextView는 ImageView 하단
layout_constraintBottom_toBottomOf
에 ImageView id를 지정하려고 합니다.LayoutEditor에서는 다음과 같습니다.
PercentRelativeLayout과 같은 차원의 깊이는 레이아웃 시 치수를 계산하기 때문에 표시할 때 다시 그려지지 않습니다.
Deprecated로 변신한 PercentRelativeLayout을 사용했다면 무조건 ConstraintLayout으로 개작하는 것을 추천합니다.
Reference
이 문제에 관하여(PercentLayout이 Deprecated로 바뀌었기 때문에 ConstraintLayout으로 비율을 지정합니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mochico/items/6e914a1c304d8b358f6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)