2012-02-28 2 views
1

Пожалуйста, проверьте этот XMLAndroid 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> 

здесь я имею в ImageView в качестве фона и верхней части, что там будет несколько кнопок изображения. теперь я хочу реализовать eventListener (OnClickListener) для образа изображения & imagebuttons. но когда я нажимаю кнопки, это событие также переходит в режим просмотра изображений (что находится в фоновом режиме). как справиться с этой ситуацией?

Edit: OP Опубликовано Код в Комментарии

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

также обращается к изображениюПросмотр как в изображенииButton's onClickListener вызывается, а затем изображениеView? Потому что, если это так, вы должны иметь onClickListener imageButton, возвращающий true, чтобы он потреблял это событие, и он не отправляется на изображение. – ByteMe

+0

imagebutton никогда не вызывается. запускается только просмотр изображения – Jram

+0

Похоже, что с слушателями не настроено что-то неправильно. Можете ли вы предоставить код Java, где вы настроили эти обратные вызовы? – Devunwired

ответ

0

Может быть, ваш ImageView очень большой, так что в FrameLayout полностью закрывает ваш LinearLayout, поэтому все события идут в ImageView? Вы можете попробовать визуально проверить свои границы ImageView и LinearLayout в Eclipse в редакторе пользовательского интерфейса. Я также не думаю, что использование FrameLayout в вашем случае - хорошая идея, FrameLayout обычно используется, чтобы сделать один элемент интерфейса видимым, пока все остальные невидимы для обеспечения своего рода переключателя пользовательского интерфейса, что здесь не так. Кажется, вы можете удалить FrameLayout, вместо этого установите фоновое изображение на ваш LinearLayout и обработайте все в своих обработчиках ImageViews.

Смежные вопросы