<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/bggame" > <ImageButton android:id="@+id/btcat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="376dp" android:layout_marginTop="35dp" android:src="@drawable/btcat" /> <RelativeLayout android:id="@+id/bottomright" android:layout_width="150dp" android:layout_height="120dp" android:layout_alignLeft="@+id/btcat" android:layout_alignParentBottom="true" android:layout_marginBottom="41dp" android:layout_marginLeft="63dp" android:background="@drawable/slot" > </RelativeLayout> <ImageView android:id="@+id/ivcat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btcat" android:layout_marginRight="119dp" android:layout_marginTop="26dp" android:layout_toLeftOf="@+id/btcat" android:src="@drawable/cat" /> <ImageView android:id="@+id/ivbutterfly" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btcat" android:layout_alignTop="@+id/ivcat" android:layout_marginRight="95dp" android:src="@drawable/butterfly" /> <ImageView android:id="@+id/ivbuffalo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/bottomright" android:layout_alignTop="@+id/ivbutterfly" android:layout_marginLeft="65dp" android:src="@drawable/buffalo" /> <ImageView android:id="@+id/ivbird" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/ivbuffalo" android:layout_marginLeft="42dp" android:layout_toRightOf="@+id/ivbuffalo" android:src="@drawable/bird" /> </RelativeLayout>
package com.example.test; import android.app.Activity; import android.content.ClipData; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.DragEvent; import android.view.MotionEvent; import android.view.View; import android.view.View.DragShadowBuilder; import android.view.View.OnDragListener; import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.widget.RelativeLayout; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.ivbird).setOnTouchListener(new MyTouchListener()); findViewById(R.id.ivbuffalo).setOnTouchListener(new MyTouchListener()); findViewById(R.id.ivbutterfly).setOnTouchListener(new MyTouchListener()); findViewById(R.id.ivcat).setOnTouchListener(new MyTouchListener()); //findViewById(R.id.slot).setOnDragListener(new MyDragListener()); //findViewById(R.id.topright).setOnDragListener(new MyDragListener()); //findViewById(R.id.bottomleft).setOnDragListener(new MyDragListener()); findViewById(R.id.bottomright).setOnDragListener(new MyDragListener()); } private final class MyTouchListener implements OnTouchListener { public boolean onTouch(View view, MotionEvent motionEvent) { if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { ClipData data = ClipData.newPlainText("", ""); DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(view); view.startDrag(data, shadowBuilder, view, 0); view.setVisibility(View.INVISIBLE); return true; } else { return false; } } } class MyDragListener implements OnDragListener { Drawable enterShape = getResources().getDrawable(R.drawable.black); Drawable normalShape = getResources().getDrawable(R.drawable.slot); @Override public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); View dropd = (View) v; switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: // do nothing break; case DragEvent.ACTION_DRAG_ENTERED: v.setBackgroundDrawable(enterShape); break; case DragEvent.ACTION_DRAG_EXITED: v.setBackgroundDrawable(normalShape); break; case DragEvent.ACTION_DROP: // Dropped, reassign View to ViewGroup View view = (View) event.getLocalState(); ViewGroup owner = (ViewGroup) view.getParent(); owner.removeView(view); RelativeLayout container = (RelativeLayout) v; container.addView(view); view.setVisibility(View.VISIBLE); break; case DragEvent.ACTION_DRAG_ENDED: v.setBackgroundDrawable(normalShape); default: break; } return true; } } }
Quote: case DragEvent.ACTION_DRAG_ENTERED: v.setBackgroundDrawable(enterShape); break;
เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง