Android——自定义组件和游戏开发(四)项目实战
1. 显示一张图片
要求:显示不修改的尺寸和原尺寸(110,110)
2. 自定义画板
// 用Canvas ,Paint,Path:制作个人绘画板 public class MyPaint07 extends View { private Paint paint; private Path path; public MyPaint07(Context context) { super(context); init(); } public MyPaint07(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(); } public MyPaint07(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } public MyPaint07(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(); } public void init(){ paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.parseColor("#00ff00")); paint.setStrokeWidth(10); path = new Path(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawPath(path,paint); } @Override public boolean onTouchEvent(MotionEvent event) { switch ( event.getAction() ){ case MotionEvent.ACTION_DOWN: Log.i(TAG, "onTouchEvent: do it"); path.moveTo(event.getX(),event.getY()); break; case MotionEvent.ACTION_MOVE: path.lineTo(event.getX(),event.getY()); break; } invalidate(); return true; } private static final String TAG = "MyPaint07"; }
标签:
Android
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?