Andrid 简易实现画面随意移动并显示坐标。
2012-08-09 13:53
357 查看
本文通过FrameLayout和LinearLayout来布局,并通过捕捉onTouchEvent事件来实现画面的随意移动,并同时显示移动后画面坐标。
1、先上布局文件:main.xml
2、Activity代码,MainActivity.java:
1、先上布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <ImageView android:src="@drawable/icon1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <LinearLayout android:id="@+id/showXY" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:text="当前坐标:"/> <TextView android:id="@+id/xyValue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:text="0,0"/> </LinearLayout> </FrameLayout>
2、Activity代码,MainActivity.java:
package org.shuxiang.test; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.Window; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { private LinearLayout container; private int currentX; private int currentY; private TextView xyValue; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); container = (LinearLayout) findViewById(R.id.container); xyValue = (TextView) findViewById(R.id.xyValue); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { currentX = (int) event.getRawX(); currentY = (int) event.getRawY(); break; } case MotionEvent.ACTION_MOVE: { int x2 = (int) event.getRawX(); int y2 = (int) event.getRawY(); container.scrollBy(currentX - x2 , currentY - y2); currentX = x2; currentY = y2; xyValue.setText(x2 + "," + y2); break; } case MotionEvent.ACTION_UP: { break; } } return true; } }
相关文章推荐
- scrollBy实现view随意移动并显示坐标
- Silverlight4下bing map实现鼠标移动时显示地图上的经纬坐标
- css,js实现在鼠标移动到一个位置在这个位置下面显示一个已经存在的div,这个div的位置随意
- 自定义dialog窗口,根据坐标可随意设置dialog显示位置,实现了窗口弹出动画
- Win7显示桌面图标移动到左侧(边)显示的实现方法
- jquery 实现超出部分隐藏,鼠标移动上显示全部文字
- SAP中ABAP简易实现选择屏幕或者普通屏幕的数据显示
- 几行代码轻松实现百度定位和在地图显示指定坐标
- js实现的跟随鼠标移动的时钟效果(中英文日期显示)
- 随鼠标移动在状态栏显示地图坐标(转载)
- JQuery实现鼠标移动到图片上显示边框效果
- 举例说明BroadcastReceiver的使用方法----实现android手机开机之后显示画面的功能
- Qt实现读取显示obj文件——归一化坐标
- vc++6 中用mschart控件实现鼠标单击的时候显示坐标值数据
- WindowManager实现可移动可点击(可只在应用中显示)悬浮窗
- Android实现 通过手势随意缩放、移动ImageView图片
- vb.net 文件夹实现移动 并显示进度条,richtextbox1显示移动的文件名
- jquery实现跟随鼠标移动显示页面信息
- JavaScript与Div对层定位和移动获得坐标的实现代码
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 07.游戏界面 敌机的产生与移动