큰 레이아웃의 일부로 상대 레이아웃이 있습니다.부모보기에서 자식보기로 가시성 전파
<FrameLayout>
<CustomScrollWidget/>
<LinearLayout>
<include layout="@layout/layout_header"/>
<CustomWidget/>
</LinearLayout>
<View/>
</FrameLayout>
layout_header.xml :
<LinearLayout id= "header">
<View/>
<RelativeLayout>
<Child views>
</RelativeLayout>
<RelativeLayout
id="abc"
visibility="gone">
<LinearLayout>
<CustomWidget/>
<CustomWidget/>
<CustomWidget/>
</LinearLayout>
<CustomWidget/>
</RelativeLayout>
자바 코드 :
상대 레이아웃의 아이 뷰는overview.xml 선형 레이아웃 (어떤 사용자 정의 위젯을 보유) 및 사용자 정의 위젯입니다
RelativeLayout rel;
View viewHeader;
final View root = inflater.inflate(R.layout.overview, container, false);
viewHeader = root.findViewById(R.id.header);
rel = (RelativeLayout) viewHeader.findViewById(R.id.abc);
if(true){
rel.setVisibility(View.GONE);
}
else{
rel.setVisibility(View.VISIBLE);
}
상대 레이아웃 ID "abc"의 하위 뷰는 항상 v입니다. 이블. 어떻게 해결할 수 있을까요? 상대 레이아웃의 가시성이 사라지도록 설정할 때 자식 뷰를 없애기를 원합니다.
당신은 틀린 뭔가를하고 있어야합니다. 부모보기를 숨기면 모든 자식이 숨겨집니다. –
네가 맞아, 내 gradle이 동기화되지 않았고 이전 데이터를 가져 가고 있었다. 이제 동기화 문제를 해결했을 때 효과가있었습니다. 감사합니다 – user3722531