我正在使用VideoView
來播放視頻。當我將其從原始位置拖到新位置時,我想更改其位置。我用下面的代碼:通過使用onDragListener更改視頻的位置
video_view.setOnDragListener(new OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
// TODO Auto-generated method stub
switch(event.getAction())
{
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_STARTED:
return true;
case DragEvent.ACTION_DRAG_LOCATION:
return true;
case DragEvent.ACTION_DROP:
float x=event.getX();
float y=event.getY();
int top=(int)x+height;
int bottom=(int)y+height;
int left=(int)x+width;
int right=(int)y+width;
video_view.layout(left, top, right, bottom);
v.invalidate();
和xml是
<VideoView
android:id="@+id/video"
android:layout_height="100dp"
android:layout_width="100dp"/>
在上面的代碼中,VIDEO_VIEW是我videoview
對象。但是當我試圖拖動它時,沒有任何改變,所以我做錯了什麼?或者我需要使用FrameLayout
,因爲我在這裏使用相對佈局?
而且還伴隨着它,我需要澄清一下的差異DragEvent.ACTION_DRAG_ENTERED
和DragEvent.ACTION_DRAG_STARTED
和
DragEvent.ACTION_DRAG_EXITED
和DragEvent.ACTION_DRAG_ENDED
之間..謝謝!!
你可以找到關於此拖動事件信息[拖放(http://developer.android.com/guide/topics/ui/drag-drop.html#AboutDragEvent) – AndreyNik