android RelativeLayout 요약

8202 단어 Android

RelativeLayout 정보


뷰 간의 위치 관계에서 지정된 속성으로 상대적으로 구성됩니다.
그러나 글만 보면 이해하기 어려워 스크슈와 함께 본다.
참고로 어떤 속성도 지정하지 않으면 왼쪽 상단에 설정되고 코드 아래일수록 위에 표시됩니다.
속성 대략적
  • 아버지가 된 RelativaLayout을 기준으로 위치를 정하는 속성
  • 지정된 id의 View를 기준으로 위치를 결정하는 속성
  • 기타
  • 세 가지 유형이 있어요.

    부모가 된 RelativaLayout을 기준으로 위치의 속성을 결정합니다.


    기본 코드와 설정은 다음과 같습니다.
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:paddingLeft="64dp"
        android:paddingRight="64dp"
        android:paddingTop="16dp"
        android:paddingBottom="16dp"
        tools:context="*****">
    
        <ImageView
            android:id="@+id/*****"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20dp"
            android:src="@drawable/*****" />
    
    </RelativeLayout>
    
    

    Layout_alignParentTop


    진짜 부모님이 위로 맞춰주셨어요.

    Layout_alignParentBottom


    True 에서 아래쪽으로 정렬

    Layout_alignParentLeft


    진: 부모님 왼쪽

    Layout_alignParentStaut


    Layout_alignParentLeft와 동일(API의 version은 유효하지 않으므로 권장하지 않음)

    Layout_alignParentRight


    true: 부모를 기준으로 오른쪽으로 정렬

    Layout_alignParentEnd


    Layout_alignParentRight와 동일(API의 version은 유효하지 않으므로 권장하지 않음)

    Layout_centerHorizontal


    True:부모 가운데 맞춤

    Layout_centerVertical


    True:세로 가운데 맞춤 모

    Layout_alignInParent


    True:부모 가운데 맞춤

    지정된 id의 View를 기준으로 위치의 속성을 결정합니다.


    기본 코드와 설정은 다음과 같습니다.
    
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" 
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
        android:paddingLeft="64dp"
        android:paddingRight="64dp"
        android:paddingTop="16dp"
        android:paddingBottom="16dp"
        tools:context="*****">
    
        <ImageView
            android:id="@+id/*****1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20dp"
            android:gravity="center"
            android:layout_centerInParent="true"
            android:src="@drawable/*****" />
    
        <ImageView
            android:id="@+id/*****2"
            android:layout_width="44dp"
            android:layout_height="44dp"
            android:src="@drawable/*****"
            android:layout_hoge="@+id/*****1" />
    
    </RelativeLayout>
    

    Layout_alignTop


    지정된 id의 View 상단과 객체의 View 상단을 정렬합니다.

    Layout_alignBottom


    지정된 id의 View 하단과 객체의 View 하단을 정렬합니다.

    Layout_alignLeft


    지정된 id의 View 왼쪽 및 객체의 View 왼쪽 정렬 구성

    Layout_alignStaut


    Layout_alignLeft와 동일(API의 version은 유효하지 않으므로 권장하지 않음)

    Layout_alignRight


    지정된 id의 View 오른쪽 및 객체의 View 오른쪽 정렬 구성

    Layout_alignEnd


    Layout_aligniRight와 동일(API의 version이 유효하지 않으므로 권장하지 않음)

    Layout_alignBaseline


    지정된 id 뷰의 기준선과 객체 뷰의 기준선을 정렬합니다.

    layout_toLeftOf


    지정된 id의 View에 비해 왼쪽 구성

    layout_toRightOf


    지정된 id의 View에 비해 오른쪽에 구성

    layout_toStartOf


    지정된 id의 View 왼쪽 구성에 비해(API의 version 레거시, 권장되지 않음)

    layout_toEndOf


    지정된 id의 View에 비해 오른쪽에 구성(API의 version은 이전 버전이며 권장되지 않음)

    layout_above


    지정된 id의 View 상단과 객체 View 하단을 정렬합니다.

    layout_below


    지정된 id의 View 하단 및 객체의 View 상단 정렬 구성

    기타


    layout_alignWithParentMissing


    참: 다른 속성이 지정한 id의 View가 없으면 부모의 View에 효과가 적용됩니다

    ignoreGravity


    지정된 id의 View는gravity에서 지정한 효과를 사용할 수 없습니다.
    주요 속성은 이상입니다.
    이것들을 Margin,padding과 조합해서 유창한 코드를 쓰고 싶습니다.

    참고 자료

  • https://developer.android.com/guide/topics/ui/layout/relative.html
  • http://qiita.com/yysk/items/c686153b39d32571d1bd
  • 좋은 웹페이지 즐겨찾기