2014-12-19 42 views
0

我有一个相对布局作为较大布局的一部分。 相对布局的子视图是线性布局(其保持定制窗口小部件)和自定义部件传播父视图的可见性

overview.xml:

<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> 

Java代码:

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 isible。我怎样才能解决这个问题。 当相对布局的可见性设置为消失时,我想让子视图消失。

+0

你一定在做别的事情。如果你隐藏父视图,那么所有的孩子都会隐藏起来。 –

+0

你是对的,我的gradle没有同步并且正在接收旧数据。现在,当我解决它的同步问题时,谢谢 – user3722531

回答

1

如果隐藏此布局的父级/根(cotaniner)布局,则子布局总是不可见。

+0

相对布局是另一个布局的一部分,如果我过去整个布局可能会得到一个想法 – user3722531

+0

您是对的,我的gradle没有同步并且正在接收旧数据。现在,当我解决它的同步问题时,谢谢 – user3722531