2015-07-19 3 views
1

У меня есть маленький ImageButton, расположенный в верхнем/правом углу и Button сзади, обертывающий весь контент.ImageButton over Button touch

Я думаю, что нормальное поведение может быть таким, что при касании маленького ImageButton он получает прикосновение. Но текущее поведение заключается в том, что когда оно коснулось, похоже на не существующее, и прикосновение к кнопке сзади.

Я попытался с помощью атрибута android:clickable, положив в FrameLayout также с android:clickable="true" небольшой ImageButton, и много других вещей.

Вот изображение с выбранными двумя элементами и .xml. Я думаю, что это не очень сложная вещь, но я не знаю, что я делаю неправильно.

Спасибо всем.

Selected elements

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/ivBackground" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:src="@drawable/club_placeholder" /> 


    <TextView 
     android:id="@+id/tvName" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" 
     android:gravity="center_vertical" 
     android:lines="1" 
     android:textColor="#fff" 
     android:textSize="16sp" 
     android:textStyle="bold" 
     android:layout_centerInParent="true" /> 

    <Button 
     android:id="@+id/btBackground" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/background_tab" 
     android:layout_alignLeft="@+id/ivBackground" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignBottom="@+id/ivBackground" /> 

    <ImageButton 
      android:id="@+id/btFavorite" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/background_tab" 
      android:padding="15dp" 
      android:src="@drawable/ic_favorite_border_white_24dp" 
      android:clickable="true" 
      android:contentDescription="Favorite" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 

</RelativeLayout> 

ответ

1

Я думаю, что ваша кнопка имеет более высокую высоту, чем ImageButton. На самом деле, если вы задали цвет своей фоновой кнопке, вы не увидите любимую кнопку imageButton. Таким образом, изменение вашей кнопки на ImageButton может решить проблему.

Проверить эту ссылку: stackoverflow thread

Я надеюсь, что это может помочь вам;)

+0

Да, высота является решением. Я добавил 'android: elevation =" 1dp "и' android: elevation = "2dp" и решил неправильное поведение. Но это хорошо работает в устройствах с предварительным охлаждением? Android Studio не дает мне никаких ошибок. – emmgfx

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