首页 > 关于Android的setvisibility()方法

关于Android的setvisibility()方法

当我用setvisibility()方法,设定view元素无效的时候,其本身确实无效,可其子元素依然可见。请问这是为什么?应该如何对应?

layout.xml

<LinearLayout
    android:id="@+id/camera_ui_view"
    ...... >

    <SurfaceView
        android:id="@+id/surfaceview"
        ...... />

    <FrameLayout
        android:id="@+id/setting"
        ...... />
</LinearLayout>

Activity.java

private ViewGroup cameraUIView = (ViewGroup) findViewById(R.id.camera_ui_view);
cameraUIView.setvisibility(View.GONE);

这里cameraUIView变无效了,可是surfaceview和setting依然可见。


如果没有别的方法,可以遍历viewgroup的subview啊


单纯的用LZ贴的代码,无法重现LZ所说的情况,如果确实设置了 camera_ui_view的gone的话,那么其子元素也会随之gone,这是毋庸置疑的,LZ可以把这段代码独立出来做测试,如果都gone了,那说明是程序里其他代码的问题,找到原因望回复,我等很好奇!


LinearLayout为布局节点,而camera_ui_view是这个布局节点的id属性,布局节点只是控制组件的排列方式
楼主可以SurfaceView的id属性在Activity.java中定义一下,然后设置其可见(visibility)与否属性。


楼主可以试试给ViewGroup加上一个背景色,然后再设置为gone,就可以看到,究竟是不是ViewGroup不可见而子View可见。。。
我认为,应该是楼主在某个流程的执行上出现问题。。。不可能说ViewGroup不可见,而子View可见的!

【热门文章】
【热门文章】