我有什么:我在水平滚动视图中有一组按钮
我想要的是什么:我想在双击按钮时检测到一个事件
注意通常我使用class implements Onclicklistener
处理点击事件。但是现在我怎么能在doubleclickevents中实现同样的目标。如果有任何可以用于此目的的界面
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="150dp"
android:text="Song1" />
<Button
android:id="@+id/button2"
android:layout_width="200dp"
android:layout_height="150dp"
android:text="Song2" />
<Button
android:id="@+id/button3"
android:layout_width="200dp"
android:layout_height="150dp"
android:text="Song3" />
</LinearLayout>
</HorizontalScrollView>
答案 0 :(得分:0)
这里有一个很好的答案:
Single click and double click of a button in android
但是,我建议使用OnLongPress事件,这是Google推荐的事件。
在此处查看该API:
http://developer.android.com/reference/android/view/View.OnLongClickListener.html
干杯
答案 1 :(得分:0)
这里有什么对我有用,
注意:它只适用于双击,它无法处理单击和放大;单击双击动作
// Define 2 global class variables
private static long LAST_CLICK_TIME = 0;
private final int mDoubleClickInterval = 400; // Milliseconds
// Then, inside onClick method of Button
long doubleClickCurrentTime = System.currentTimeMillis();
long currentClickTime = System.currentTimeMillis();
if (currentClickTime - LAST_CLICK_TIME <= mDoubleClickInterval)
{
Toast.makeText(this, "Double click detected", Toast.LENGTH_SHORT).show();
}
else
{
LAST_CLICK_TIME = System.currentTimeMillis();
// !Warning, Single click action problem
}
答案 2 :(得分:0)
我使用这种方法:
var doubleTap = false
your_button.setOnClickListener {
if (doubleTap)
handleClick(it.context)
doubleTap = true
Handler(Looper.getMainLooper()).postDelayed({
doubleTap = false
}, 1500)
}
您可以在onBackPress Activity中使用此技巧在两个步骤中退出应用程序。
祝你好运
答案 3 :(得分:0)
project.assets.json