基于Android实现随手指移动的ImageView
ImageView用来显示任意图像图片,可以自己定义显示尺寸,显示颜色等等.
运行效果是这样的(文字说明):
首次进入程序,手指点击屏幕上的任意位置,图片会随之移动。
布局文件
<?xmlversion="1.0"encoding="utf-8"?> <FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#f0f0f0"> <com.sgw.move.MoveImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon"> </com.sgw.move.MoveImageView> </FrameLayout>
实现代码
publicclassMoveImageViewextendsImageView{
publicMoveImageView(Contextcontext){
super(context);
}
publicMoveImageView(Contextcontext,AttributeSetattrs){
super(context,attrs,0);
}
publicMoveImageView(Contextcontext,AttributeSetattrs,intdefStyle){
super(context,attrs,defStyle);
}
publicvoidsetLocation(intx,inty){
this.setFrame(x,y-this.getHeight(),x+this.getWidth(),y);
}
//移动
publicbooleanautoMouse(MotionEventevent){
booleanrb=false;
switch(event.getAction()){
caseMotionEvent.ACTION_MOVE:
this.setLocation((int)event.getX(),(int)event.getY());
rb=true;
break;
}
returnrb;
}
}
publicclassTestImageViewMoveextendsActivity{
privateMoveImageViewmoveImageView;
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
moveImageView=(MoveImageView)this.findViewById(R.id.ImageView01);
}
@Override
publicbooleanonTouchEvent(MotionEventevent){
moveImageView.autoMouse(event);
returnfalse;
}
}
以上内容给大家介绍了基于Android实现随手指移动的ImageView的相关知识,希望本文分享对大家有所帮助。