将Android视图设置为不可见/不工作

将Android视图设置为不可见/不工作,android,android-layout,surfaceview,Android,Android Layout,Surfaceview,我有一个surfaceview,我在上面放了一个摄像头预览。最重要的是,我有一个相对的布局,它有一堆视图,比如一个扫描按钮,等等 我试图让这些观点中的一个看不见,就像这样 myIcon.setVisibility(View.INVISIBLE); 我也试过了 myIcon.setVisibility(View.GONE); 两者似乎都不起作用。看不见的根本不起作用,而且已经不起作用了 在这里你可以看到一个2D图标,一个设置按钮。在隐藏之前,它看起来像这样: 然后我调用setVisibili

我有一个surfaceview,我在上面放了一个摄像头预览。最重要的是,我有一个相对的布局,它有一堆视图,比如一个扫描按钮,等等

我试图让这些观点中的一个看不见,就像这样

myIcon.setVisibility(View.INVISIBLE);
我也试过了

myIcon.setVisibility(View.GONE);
两者似乎都不起作用。看不见的根本不起作用,而且已经不起作用了

在这里你可以看到一个2D图标,一个设置按钮。在隐藏之前,它看起来像这样:

然后我调用setVisibility(View.GONE)

您可以清楚地看到,保存这些视图的linearlayout通过为“设置”按钮提供更多空间来响应,但它没有从后面删除2D。我认为这与SurfaceView有关,因为我知道这通常会起作用

我试过了

myIcon.requestFocus();
之后我做了可见度的改变,但还是一无所获

有什么建议吗?请仅在您有处理此特定问题的经验时回复

编辑: 以下是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.sample.SampleJavaCameraView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:visibility="gone"
    android:id="@+id/cv_surface_view" />






<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true">
    

  
  
<ImageView 
    android:id="@+id/myIcon"
    android:layout_width="30dip"
    android:layout_height="30dip"
    android:src="@drawable/twod_icon"
    
    />

    <ImageButton 
    android:id="@+id/settingsBtn"
    android:layout_width="30dip"
    android:layout_height="30dip"
    android:src="@drawable/settings_gear"
    android:background="@null"
    />
</LinearLayout>


  <ImageButton
      android:id="@+id/scan_btn"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/logo_small"
      android:background="@drawable/blue_radial_grad"
      android:layout_alignParentBottom="true"
      android:layout_alignParentRight="true"
      android:padding="20dip"
       />
  


在这里你可以看到我试图隐藏的图像被包装成线性布局。surfaceview位于顶部,它是surfaceview的OpenCV包装类

可以尝试
myIcon.bringToFront()

请发布相关的XML布局和/或Java代码,我看到图片中发生了什么,但如果没有更多细节,就无法猜测原因。请发布部分代码和xmlOk我发布了布局。我的活动量很大,而且由于OpenCV包装的SurfaceView内容,没有太多其他相关的java代码。您是否尝试过
myIcon.requestLayout()?是的,在设置可见性之前和之后都尝试过这样做,但没有任何效果。我发现另一个帖子说,基本上,视图没有得到改变的提示,有时请求焦点可以将其恢复。还没有运气