2012-02-28 4 views
1

ここで私はいくつかの画像のボタンがあるだろうということの背景とトップとしてImageViewのを持っています。このXMLにアンドロイドのEventListener

<FrameLayout android:id="@+id/LayoutTab" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      android:layout_gravity="bottom" android:layout_marginBottom="-30dip"> 

      <ImageView android:id="@+id/ImageMenu" android:background="@drawable/img_tab" 
       android:layout_height="wrap_content" android:layout_width="fill_parent"></ImageView> 

      <LinearLayout android:id="@+id/LinearLayout03" 
       android:layout_width="fill_parent" android:paddingLeft="5dip" 
       android:layout_height="wrap_content" android:layout_gravity="bottom"> 
       <ImageButton android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:id="@+id/btnNegative" 
        android:background="@drawable/btn_minus_state" android:layout_margin="5dip"></ImageButton> 
       <ImageButton android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:id="@+id/btnPositive" 
        android:background="@drawable/btn_plus_state" android:layout_margin="5dip"></ImageButton> 
       <ImageButton android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:id="@+id/btnShare" 
        android:background="@drawable/btn_share_state" android:layout_margin="5dip"></ImageButton> 
      </LinearLayout> 

     </FrameLayout> 

を確認してください。今私は画像ビュー& imagebuttonsにeventListener(OnClickListener)を実装したいと思います。しかし、ボタンをクリックすると、そのイベントは画像ビュー(バックグラウンドにあります)にも移動します。この状況をどのように処理するのですか?

編集:OPはたぶんあなたのImageViewので、すべてのイベントがImageViewに行く、それは完全にあなたのLinearLayout不明瞭FrameLayoutでそう非常に大きいコメント

mnuTab = (ImageView) this.findViewById(R.id.ImageMenu); 
btnmin = (ImageButton) this.findViewById(R.id.btnNegative); 
btnplus = (ImageButton) this.findViewById(R.id.btnPositive); 
btnShare = (ImageButton) this.findViewById(R.id.btnShare); 
mnuTab.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     // my functions 
    } 
}); 
btnmin.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { } 
}); 
btnplus.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     // my functions 
    } 
}); 
+1

また、imageButtonのonClickListenerのimageViewが呼び出されてから、imageViewの画像が表示されますか?その場合、imageButtonのonClickListenerにtrueを返し、イベントを消費し、imageViewに送信されないようにする必要があります。 – ByteMe

+0

imagebuttonは決して呼び出されません。画像ビューのみがトリガーされています – Jram

+0

リスナーで何かが正しく設定されていないようです。これらのコールバックを設定するJavaコードを提供できますか? – Devunwired

答えて

0

にコード掲示されますか? EclipseのImageViewLinearLayoutの境界をUIエディタで視覚的に確認できます。 あなたのケースではFrameLayoutを使用することはお勧めできませんが、FrameLayoutは通常は1つのUI要素を表示するために使用され、他のすべての要素は表示されず、UIスイッチャーの種類は表示されません。 FrameLayoutを削除して、代わりにLinearLayoutに背景イメージを設定して、ImageViewsハンドラのすべてを処理してください。

関連する問題