最近又在改项目啊。为了模仿别人的软件。让用户有更加超炫的体验。公司花了20多天叫美工 做景点的导航。就是在图片上标注位置。只是一个图片而已。但是用在项目上。的确有很大的改观。这些最基本的控件都有一些监听方法 ,今天就用到了setOnTouchListener监听事件。
MainActivity .java
public class MainActivity extends Activity { /** Called when the activity is first created. */ ImageView img = null; int status = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.mainview); img=(ImageView)findViewById(R.id.imageView); img.setOnTouchListener(new OnTouchListener(){ private int mx, my; public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTION_MOVE: mx = (int)(event.getRawX()); //获取你在屏幕上点击的x坐标 my = (int)(event.getRawY() - 50); //获取你在屏幕上点击的Y坐标 v.layout(mx - img.getWidth()/2, my - img.getHeight()/2, mx + img.getWidth()/2, my + img.getHeight()/2); break; } return true; }}); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/LLayout"> <ImageView android:layout_height="wrap_content" android:id="@+id/imageView" android:layout_width="wrap_content" android:src="@drawable/icon"></ImageView> </LinearLayout>