개발/안드로이드 개발
Databinding에서 다른 뷰의 visibility 상태를 가져오는 방법
룬아님
2020. 1. 23. 18:09
<RelativeLayout
android:id="@+id/filter_container"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorWhite"
android:clickable="true"
android:focusable="true">
만약 위 뷰의 visibility를 가져와서 특정 뷰의 visibility를 정해주고 싶다면
<data>
<import type="android.view.View"/>
...
</data>
android:visibility="@{filterContainer.getVisibility() == View.GONE ? View.GONE : View.VISIBLE}"
id를 스네이크 표기법으로 지정해도 databinding에서 해당 뷰를 사용할때에는 카멜 표기법으로 사용해야합니다.
하지만 뷰상태를 참조하게 되면 특정 상황에서 의도하지 않은 결과가 나올 수 있기 때문에 앱 안정성과 통일성을 위하여 데이터를 참조하도록 구현하는 것이 더 좋다.
반응형