developer tip

RelativeLayout의 기준선은 무엇입니까?

copycodes 2020. 10. 21. 08:13
반응형

RelativeLayout의 기준선은 무엇입니까?


상대적인 레이아웃의 맥락에서 사용될 때 "기준선"은 무엇을 의미합니까? 아마도 간단한 질문이지만 문서와 Google은 힌트를 제공하지 않습니다.


기준선 이라는 용어 는 타이포그래피에서 비롯됩니다 . 텍스트의 보이지 않는 줄 문자가 앉아 있습니다.

예를 들어 두 개의 TextView요소를 나란히 배치한다고 가정 해보십시오 . 두 번째 TextView에 큰 패딩 (예 : 20dp)을 제공합니다. layout_alignBaseline두 번째 요소에 추가 하는 경우 텍스트는 첫 번째 요소의 기준선에 맞춰 정렬됩니다. 두 요소의 텍스트는 마치 같은 보이지 않는 줄에 쓰여진 것처럼 나타납니다.

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
  <TextView
      android:id="@+id/text1"
      android:text="aatlg"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      />
  <TextView
      android:text="joof"
      android:background="#00ff00"
      android:padding="20dp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_toRightOf="@id/text1"
      android:layout_alignBaseline="@id/text1"
      />
</RelativeLayout>

다음은 Cristian의 대답을 명확히 할 수있는 시각적 설명입니다.

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView
        android:id="@+id/text1"
        android:text="Lorem"
        android:background="@android:color/holo_blue_light"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:text="Ipsum"
        android:background="@android:color/holo_orange_light"
        android:padding="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/text1"
        android:layout_alignBaseline="@id/text1" />
</RelativeLayout>

이 코드는 다음과 같습니다.

android : layout_alignBaseline 사용

이제 android:layout_alignBaseline속성을 제거 하면 동일한 레이아웃이 다음과 같이 보입니다.android : layout_alignBaseline없이

주황색 뷰의 높이에 영향이 있다는 것을 관찰하는 것은 흥미 롭습니다 (첫 번째 경우에는 패딩이 뷰 상단에 적용 되지 않음 ).


여기에 이미지 설명 입력

기준선은 텍스트보기의 텍스트 아래에있는 선입니다.

참고 URL : https://stackoverflow.com/questions/6447361/what-is-the-baseline-in-relativelayout

반응형