1

カメラのプレビューを表示するサーフェスビューがあります。その上に、スキャン ボタンなどのビューがたくさんある相対的なレイアウトがあります。

このように、これらのビューの1つを非表示にしようとしています

myIcon.setVisibility(View.INVISIBLE);

そして、私も試しました

myIcon.setVisibility(View.GONE);

どちらも機能していないようです。Invisible はまったく機能せず、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 ラップ クラスです。

4

1 に答える 1

2

たぶん試してみてくださいmyIcon.bringToFront();

于 2013-04-25T20:12:47.537 に答える