비고:ConstraintLayout에서 화면을 숨길 수 없을 때 elevation을 확인하십시오

배경.

  • ConstraintLayout에서 단추를 누르지 않기 위해 View를 잠시 덮어쓰는 View
  • 를 표시하려면
  • 중첩된 View를 제작하고parent에 제약을 가하지만 일부 View(이번에는 머리)가 중첩된 View보다 높다
  • 대응


    헤더에 elevation을 설정하여 뷰를 덮어씁니다.
    눈썹에 음영을 계속 넣으려고 하기 때문에, 덮어쓰기 뷰에elevation (머리의 evlevation 이상이 필요합니다) 을 추가합니다.
        <!-- ヘッダー -->
        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="64dp"
            android:background="@color/toolbar_background"
            android:elevation="4dp"
            android:padding="4dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">
    	
       ....
       
         <!-- オーバーレイ -->
         <TextView
            android:id="@+id/overlay"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:gravity="center"
            android:text="@string/stop"
            android:textSize="40sp"
            android:elevation="4dp"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    말씀드리는 김에translationZ도 갈 수 있습니다.(평행 투영이라서)
    android:translationZ="4dp"
    

    좋은 웹페이지 즐겨찾기