0

中扩展按钮的可触摸区域的正确(或者可能是最方便的)方法是什么?

当我第一次在 Google Drive 应用程序中看到这样的扩展区域时,我认为它是使用自定义按钮完成的。

在此处输入图像描述

我能够很容易地复制这种效果。

在此处输入图像描述

我使用了简单的drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_pressed="true">
        <shape>
            <solid android:color="#ff33B5E5" />            
        </shape>
    </item>
    <item>
        <shape>
            <solid android:color="#00000000" />
        </shape>
    </item>
</selector>

刚才我遇到了,但是对于如此简单的任务来说,这似乎是一种过于复杂的方式。使用 TouchDelegates 有什么好处吗?还是只是个人喜好问题?

4

2 回答 2

1

ATouchDelegate是一种扩展 a 的触摸区域View(超出其当前范围)的方法,因此用户可以更轻松地对该小部件进行操作(例如,扩展非常小的星的触摸区域是有意义的) .

在您发布的图片中,您有一个简单Button的 aTouchDelegate没有意义,因为它足够大,用户可以对其采取行动。

于 2013-09-20T18:40:35.287 回答
0

让您的按钮采用透明的相对布局或线性布局。制作你的按钮android:clickable= false 和布局android:clickable= true。所以当你点击按钮时,布局将捕获点击监听器。现在您可以将布局的可绘制对象应用为您的选择器 xml。您不需要形状,只需使用颜色并在 state_pressed 或 state_focused 或类似的东西上更改它。

于 2013-09-20T14:37:53.013 回答