aide安卓编程06-全屏涂色

2018-10-01  本文已影响0人  傻傻不知天年
先把屏幕方向设为竖屏: 设为竖屏
进入MainActivity.java 点上边小三角按钮
进入java文件
把所有代码删掉,替换成下面的代码:
package com.baobao.sayhello;

import android.app.*;
import android.content.*;
import android.os.*;
import android.view.*;
import android.graphics.*;
class mview extends View{//自定义一个叫mview的新类型,继承View
    public mview(Context con){//构造(初始化)函数
        super(con);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh)
    {
        //窗口大小改变时触发
        super.onSizeChanged(w, h, oldw, oldh);
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        //绘图时触发
        super.onDraw(canvas);
        canvas.drawColor(Color.rgb(100,0,0));//把全屏涂成红色
    }
}
public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        mview view=new mview(this);//新建一个叫view的mview
        setContentView(view);//把view设为整个界面
    }
}
替换完成

运行之后全屏都是深红色。


运行效果

从代码里的注释可以看出我们先定义了一种View类型的组件,叫mview;又生成一个叫view的mview类型对象,让它填满屏幕,这样就能在整个屏幕画图并且监控手指的滑动了。

所有的绘图操作都在第25行。canvas是画布,它有很多画图功能,比如画图形,画文字,画图片。这里我们使用的是把整个显示区域涂成同种颜色的drawcolor函数。他的唯一一个参数就是要涂的颜色。这里我们选用深红色,所以红色绿色蓝色的配比是100:0:0。把这三个数分别作为Color.rgb函数的3个参数就好了。

关于rgb配比

rgb是用红绿蓝三原色的分量表示颜色的方法。r代表红色值,g代表绿色值,b代表蓝色值。r占比越大越接近红色,g占比越大越接近绿色,b占比越大越接近蓝色。

rgb3个数值必须取0~255间的整数。

常用颜色的rgb值:

黑 0 0 0
白255 255 255
红255 0 0
绿0 255 0
蓝0 0 255
青0 255 255
紫255 0 255
黄255 255 0
橙255 127 0
粉255 127 127

大家可以改变rgb的值后运行,看看变成什么颜色。


现在可以把多余的res/layout文件夹下的main.xml文件删掉:


进res/layout文件夹
删除main.xml
上一篇下一篇

猜你喜欢

热点阅读