버튼이 겹칠 때 ZOrder의 Tips 정보

8533 단어 Android
안드로이드 개발에서 버튼을 일부러 겹치지 않았을 때도 있지만, 가끔 업무 애플리케이션을 제작할 때도 있다.
구체적으로 말하면
  • 디자인에 대한 학습, CSS 실크 빵 부스러기의 총결
  • 이런 빵 찌꺼기 리스트를 만들고 싶을 때.이상한 모양의 버튼을 만드는 것은 힘들기 때문에 버튼을 겹쳐서 왼쪽 단추를 앞에 표시하려고 한다.(왜 이렇게 하면 전달이 안 될 수도 있으니까 사랑을 끊는다)
    즉, 버튼이 겹칠 때 ZOrder(Z-idex)를 제어하려는 것입니다.
    그리고 다양한 시도.

    LinerLayout 시


    LinerLayout에 나란히 있을 때.
    main.xml
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:orientation="horizontal">
    
        <Button
            android:background="#FF0000"
            android:text="AAA"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:background="#00FF00"
            android:text="BBB"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:background="#0000FF"
            android:text="CCC"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
    </LinearLayout>
    

    결실



    안돼.
    LinuarLayout의 Zorder는 배열 순서와 연결되기 때문에 오른쪽(또는 아래)에서 접근합니다.
    그나저나 "view.bringToFront() 치면 되지 않나요?", 실행buttonA.bringToFront()
    안 그래?

    AAA가 완벽하게 오른쪽 w까지 갔어요.

    RelativeLayout의 경우(하나)


    일반적으로 Relative Layout에는'B는 A의 오른쪽, C는 B의 오른쪽'이라는 제약이 붙는다.
    main.xml
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="30dp">
    
        <Button
            android:id="@+id/buttonA"
            android:background="#FF0000"
            android:text="AAA"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:id="@+id/buttonB"
            android:layout_toRightOf="@+id/buttonA"
            android:background="#00FF00"
            android:text="BBB"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:id="@+id/buttonC"
            android:layout_toRightOf="@+id/buttonB"
            android:background="#0000FF"
            android:text="CCC"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
    </RelativeLayout>
    

    결실



    응, 아직 안 돼?

    RelativeLayout의 경우(두 번째)


    1의 제한은 그렇다. XML의 배열 순서를 C, B, A로 바꾸자.
    main.xml
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="30dp">
    
        <Button
            android:id="@+id/buttonC"
            android:layout_toRightOf="@+id/buttonB"
            android:background="#0000FF"
            android:text="CCC"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:id="@+id/buttonB"
            android:layout_toRightOf="@+id/buttonA"
            android:background="#00FF00"
            android:text="BBB"
            android:layout_marginLeft="-10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
        <Button
            android:id="@+id/buttonA"
            android:background="#FF0000"
            android:text="AAA"
            android:layout_width="50dp"
            android:layout_height="match_parent" />
    
    </RelativeLayout>
    

    결실



    좋아!기대의 표시가 되다.

    총결산


    종합하면 ZOrder는 Liear Layout이든 Relative Layout이든 XML에서 뒤에 기술한 것이 모두 앞에 있다.
    LinkearLayout은 위에서 아래로, 또는 왼쪽에서 오른쪽으로만 배열할 수 있기 때문에 그와 반대되는 ZOrder를 설치할 수 없습니다.
    RelativeLayout은 제약에 따라 그려지기 때문에 XML의 기술 순서에 공을 들여 어느 정도 ZOrder를 제어할 수 있다.
    Tips 받은 사람 누구예요?
    안드로이드로 처음과 같은 빵 찌꺼기 목록을 만드는 방법을 알려주세요...(Fragment Bread Crumbs도 빵 찌꺼기 같지 않은데)

    좋은 웹페이지 즐겨찾기