android怎么实现 图像随着手指的移动而移动
1个回答
2015-01-25 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517183
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
activity内容:
Java code
?
public class CustomView extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
DrawView组件:
Java code
?
public class DrawView extends View
{
public float currentX = 40;
public float currentY = 50;
/**
* @param context
*/
public DrawView(Context context , AttributeSet set)
{
super(context , set);
}
@Override
public void onDraw (Canvas canvas)
{
super.onDraw(canvas);
//创建画笔
Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.RED);
//绘制一个小圆(作为小球)
canvas.drawCircle(currentX , currentY , 15 , p);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
//当前组件的currentX、currentY两个属性
this.currentX = event.getX();
this.currentY = event.getY();
//通知改组件重绘
this.invalidate();
//返回true表明处理方法已经处理该事件
return true;
}
}
xml布局文件:
XML/HTML code
?
<?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"
>
<!-- 使用自定义组件 -->
<org.crazyit.event.DrawView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
Java code
?
public class CustomView extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
DrawView组件:
Java code
?
public class DrawView extends View
{
public float currentX = 40;
public float currentY = 50;
/**
* @param context
*/
public DrawView(Context context , AttributeSet set)
{
super(context , set);
}
@Override
public void onDraw (Canvas canvas)
{
super.onDraw(canvas);
//创建画笔
Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.RED);
//绘制一个小圆(作为小球)
canvas.drawCircle(currentX , currentY , 15 , p);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
//当前组件的currentX、currentY两个属性
this.currentX = event.getX();
this.currentY = event.getY();
//通知改组件重绘
this.invalidate();
//返回true表明处理方法已经处理该事件
return true;
}
}
xml布局文件:
XML/HTML code
?
<?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"
>
<!-- 使用自定义组件 -->
<org.crazyit.event.DrawView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |