0

在此处输入图像描述我有一个自定义图像按钮,我只希望自定义图像按钮是可点击的。目前按钮周围的所有区域都是“可点击的”并启动新的活动。我想最小化这个“可点击的背景”空间。我该怎么做?

 <ImageButton
    android:id="@+id/start_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@null"
    android:src="@drawable/flashcardbutton" />
4

5 回答 5

0

您不想将 ImageButton 与您的图像一起用作“src”,您想将一个常规按钮与您的图像用作“背景”,否则它会模仿一个带有填充的按钮,即使您取消背景图像也不会...

像这样使用您的原始图像:

 <Button
    android:id="@+id/start_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/flashcardbutton" />
于 2013-08-09T22:12:13.760 回答
0

所以,我认为这绝对是我的错。即使我使背景“透明”,框架仍然比我的图像大。我只需要使用 Photoshop 并裁剪图像。谢谢你们!

于 2013-08-09T21:39:19.020 回答
0

也许这可能会有所帮助:

<ImageButton
    android:id="@+id/start_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@null"
    android:adjustViewBounds="true" <!-- Here is the thing you need -->
    android:src="@drawable/flashcardbutton" />
于 2013-08-09T03:05:42.443 回答
0

我不确定这一点,但只是一个猜测..是否可以使用:

public void getHitRect(Rect outRect) {
    outRect.set(getLeft()-10, getTop()-10, getRight()-10, getBottom()-10);
}
于 2013-08-09T00:15:44.047 回答
0

很好地尝试一下我发现有一个带有这个签名的方法的APIImageButton

public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

AccessibilityNodeInfo类有这个方法

public void setBoundsInScreen (Rect bounds)

所以说我认为你应该实现你想要做的事情,除了@Sushil答案之外,这应该使它起作用。

于 2013-08-09T00:29:27.873 回答