ImageButton over Button 触摸
ImageButton over Button touch
我在top/right角放了一个小ImageButton
,后面放了一个Button
,把所有的内容都包起来了。
我认为正常的行为可能是触摸小ImageButton
时,它会收到触摸。但是目前的行为是当它被触摸时,就像不存在一样,并将触摸传递给后面的按钮。
我尝试使用 android:clickable
属性,将小的 ImageButton
放在 FrameLayout
中,也使用 android:clickable="true"
,还有很多其他东西。
这是一张图片,其中选择了两个元素,并且 .xml。我认为这不是很复杂的事情,但我不知道我做错了什么。
谢谢大家
<?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>
我认为您的 Button 的高度比 ImageButton 高。
事实上,如果您为背景按钮设置颜色,您将看不到最喜欢的 imageButton。因此,将 Button 更改为 ImageButton 可以解决问题。
检查此 link:
希望对您有所帮助 ;)
我在top/right角放了一个小ImageButton
,后面放了一个Button
,把所有的内容都包起来了。
我认为正常的行为可能是触摸小ImageButton
时,它会收到触摸。但是目前的行为是当它被触摸时,就像不存在一样,并将触摸传递给后面的按钮。
我尝试使用 android:clickable
属性,将小的 ImageButton
放在 FrameLayout
中,也使用 android:clickable="true"
,还有很多其他东西。
这是一张图片,其中选择了两个元素,并且 .xml。我认为这不是很复杂的事情,但我不知道我做错了什么。
谢谢大家
<?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>
我认为您的 Button 的高度比 ImageButton 高。 事实上,如果您为背景按钮设置颜色,您将看不到最喜欢的 imageButton。因此,将 Button 更改为 ImageButton 可以解决问题。
检查此 link:
希望对您有所帮助 ;)