我有一個簡單的佈局變得可見一旦拖動事件開始:的Android上的dragEvent火災在屏幕的任何位置拖動時
<RelativeLayout
android:id="@+id/onDragMenu"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="blablabla"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_marginTop="75dp"
android:textAlignment="center"
/>
<ImageView
android:id="@+id/smsDragButton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="25dp"
android:layout_marginBottom="25dp"
android:src="@mipmap/sms_icon"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:background="@drawable/rounded_button"
android:padding="5dp"
/>
<ImageView
android:id="@+id/callDragButton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginRight="25dp"
android:layout_marginBottom="25dp"
android:src="@mipmap/phone_icon"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/rounded_button"
android:padding="5dp"
/>
</RelativeLayout>
和一些代碼來處理時,東西拖動到圖像中的一個發生了什麼意見:
View callButton = onDragMenu.findViewById(R.id.callDragButton);
callButton.setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()){
case DragEvent.ACTION_DRAG_ENTERED:
// blablabla
break;
case DragEvent.ACTION_DRAG_ENDED:
// blablabla
break;
}
return true;
}
});
但是,onDrag被第二次觸發,我用ACTION_DRAG_STARTED開始拖動(在按鈕之外),並且ACTION_DRAG_ENTERED從未被擊中。 最後,當我放開時,ACTION_DRAG_ENDED被擊中,座標爲(0,0)。
我對Android很陌生,可能缺少一些基本的東西。 請幫忙。 謝謝
這真的是個好主意嗎?我已經看到使用onDragEvent的應用程序,並且一切正常。 – Svarog