지면의 공백을 메우다

3929 단어 Android

공백을 메우다


개발 중에 View와 View 사이에 공백을 설정하려는 경우가 있습니다.
보통margindivider 사이에서 조정하지만 공백을 위해 설정한view도 있다.
실제 안드로이드에는 공백 조절을 위한 뷰Space가 존재한다.

Space

Space는 에이피 level 14에 추가된GridLayout에서 발생한 공열을 표시하기 위해 제작됐다.
Support Library v7에 수록GridLayout했을 때Space도 함께 수록됐다.Spaceと 다른 뷰와 가장 큰 차이점은 그리지 않는 것입니다.
다음 코드는 Space#draw 방법의 설치입니다.
    /**
     * Draw nothing.
     *
     * @param canvas an unused parameter.
     */
    @Override
    public void draw(Canvas canvas) {
    }
Draw nothing 에서 설명한 대로 Space 에서 배경색을 포함하는 모든 그림을 그리지 않습니다.
배경색만 바꾸려면 사용할 수 없지만 뷰에서 묘사 부하가 가장 적다는 장점이 있다.

이루어지다


Gradle의 경우 다음과 같이 gridlayout-v7 라이브러리를 가져옵니다.
compile 'com.android.support:gridlayout-v7:20.0.+'
예를 들어 세로로 배열된 게 이미지 사이에 50dp의 공백을 설정합니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/darker_gray"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/kani" />

    <android.support.v7.widget.Space
        android:layout_width="match_parent"
        android:layout_height="50dp" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/kani" />

</LinearLayout>

이렇게 됐어.
공백 부분 투과LinearLayout의 배경.

주의점


반복됨Space에서는 배경색을 설정해도 무시됩니다.
다음 설명은 가능하지만 드로잉에는 표시되지 않습니다.
    <android.support.v7.widget.Space
        android:layout_width="match_parent"
        android:background="@android:color/white"
        android:layout_height="50dp" />

사용처


솔직히 말해서 나는 GridLayout 이외에 사용할 수 있는 자리가 거의 없다고 생각한다.
대부분margindivider만으로도 충분하다.
하지만 어떻게든 뷰를 공백으로 구성한 경우Space의 존재를 되새겨보십시오.

좋은 웹페이지 즐겨찾기