Android studio入门

  1. Android的基本组件
    1.1 Activity
    1.1.1 Activity代表手机的一个屏幕
    1.1.2 一个Android程序由多个Activity组成,即:一个Android程序由多屏内容组成
    1.1.3 Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
    1.2 Service
    1.2.1 不可见的组件
    1.2.2 在后台运行
    1.2.3 为其他组件提供后台服务
    1.2.4 监控其他组件的运行状态
    1.2.5 后台播放音乐
    1.3 BroadcastReceiver:广播消息监听器
    1.3.1 作用:用来监听广播,eg:收短信的广播 往手机推送消息
    1.4 ContentProvider:内容提供者
    1.4.1 帮助不同的应用程序间交换数据,eg:获取通讯录信息
    1.5 Intent和IntentFilter 意图
    Activity、Service、BroadcastReceiver之间通信的载体,传递数据

  2. View和ViewGroup介绍
    View类似于swing中的JPanel,代表一个空白的矩形区域,Android应用中的绝大部分UI组件都继承于View或其子类
    View还一个重要的子类ViewGroup,它通常作为其它组件的[容器]使

    简单来讲View是所有控件的父控件,ViewGroup可以包含其它的View对象,并且是所有布局控件的父类
    Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
    setContentView(view)

  3. 自定义视图(onDraw)
    3.1 颜色四种设置方式
    canvas.drawColor(Color.RED);//系统颜色(Color.RED)

    canvas.drawColor(Color.rgb(100, 150, 200));//rgb
    canvas.drawColor(Color.argb(100, 100, 150, 200));//argb,其中第一参数为透明度
    canvas.drawColor(Color.parseColor("#44E21D"));//16进制
    3.2 画板背景
    canvas.drawColor(Color.BLUE)
    3.3 画笔设置
    3.3.1 实心或空心
    paint.setStyle(Style.FILL);//实心
    paint.setStyle(Style.STROKE);// 空心
    3.3.2 粗细
    paint.setStrokeWidth(10)
    3.3.3 抗锯齿
    paint.setAntiAlias(true);
    3.3.4 颜色设置
    paint.setColor(Color.parseColor("#103864"));

  4. 画图形
    使用画线方式画凹,使用Path画凸

private Paint paint;
    public MyView(Context context) {
        super(context);
        paint = new Paint();
        paint.setColor(Color.RED);
        paint.setStyle(Paint.Style.STROKE);// 空心
//        paint.setStrokeWidth(10);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
//        canvas.drawCircle(200,200,100,paint);
//        画线方式画凹
        canvas.drawLine(100,100,200,100,paint);
        canvas.drawLine(100,100,100,300,paint);
        canvas.drawLine(200,200,200,100,paint);
        canvas.drawLine(300,100,400,100,paint);
        canvas.drawLine(200,200,300,200,paint);
        canvas.drawLine(300,200,300,100,paint);
        canvas.drawLine(400,300,400,100,paint);
        canvas.drawLine(100,300,400,300,paint);
 
//        Path画凸
        Path path = new Path();
        path.moveTo(200,300);
        path.lineTo(300,300);//从当前点绘制一条线段到x,y点

        path.moveTo(200,300);
        path.lineTo(200,400);

        path.moveTo(300,300);
        path.lineTo(300,400);

        path.moveTo(100,400);
        path.lineTo(200,400);

        path.moveTo(300,400);
        path.lineTo(400,400);

        path.moveTo(400,400);
        path.lineTo(400,500);

        path.moveTo(100,400);
        path.lineTo(100,500);

        path.moveTo(100,500);
        path.lineTo(400,500);

        canvas.drawPath(path,paint);

猜你喜欢

转载自blog.csdn.net/qq_41038970/article/details/83059151