android自定义视图 按下移动抬起画出直线
2016-11-09 18:27
169 查看
import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置生成的视图信息 把内部视图类传进去 setContentView(new CustomView(this)); } //内部类中编写 class CustomView extends View{ //定义各个坐标的位置变量 float startX,startY,stopX,stopY; public CustomView(Context context) { super(context); } //画的方法 @Override protected void onDraw(Canvas canvas) { //创建画笔对象 Paint paint = new Paint(); //设置画笔的颜色 paint.setColor(Color.BLACK); //画直线的方法,把各个点的坐标值传进去 canvas.drawLine(startX, startY, stopX, stopY, paint); super.onDraw(canvas); } //点击事件 @Override public boolean onTouchEvent(MotionEvent event) { //选择点击动作 switch (event.getAction()){ //按下 case MotionEvent.ACTION_DOWN: //设置起点的坐标值 startX = event.getX(); startY = event.getY(); break; //移动 case MotionEvent.ACTION_MOVE: // 设置移动时重点坐标的值 stopX = event.getX(); stopY = event.getY(); //强制刷新视图 invalidate(); break; //抬起 case MotionEvent.ACTION_UP: //获取抬起的坐标值 stopX = event.getX(); stopY = event.getY(); //强制刷新视图 invalidate(); break; } return true; } } }
相关文章推荐
- android构建自定义的视图组件
- Android\OPhone自定义视图(View) 推荐
- android自定义视图属性(atts.xml,TypedArray)学习
- [Android]自定义移动网络接入点
- Android自定义移动网络接入点
- android构建自定义的视图组件
- 开源项目之Android ViewBadger(自定义的视图布局)
- android自定义Toast视图
- Android开发之自定义View(视图)
- [转] android自定义布局中的平滑移动
- Android-自定义视图
- Android移动应用界面的模板化设计【自定义BaseActivity】
- android自定义Toast视图
- Android开发之自定义View(视图)
- Android学习系列(3)--App自动更新之自定义进度视图和内部存储
- android构建自定义的视图组件
- android构建自定义的视图组件onMeasure
- (转)android构建自定义的视图组件onMeasure
- Android 仿 Iphone 自定义滚条视图(wheelview)
- [转] android自定义布局中的平滑移动