实习周记(第一周):任何的浮躁都是阻碍

从5.13号的入职开始,至今已过了一周。从行署到景峰,没想到这样曲折,手续也未完全办完,心情起起落落。通过和师哥们的谈话,经历过一晚的思想斗争,还是将心放在Android上,以后再逐渐熟悉后台。
情况:5.14周二晚,师哥让做一个动画调研,调研过程中,获取到一些知识。
本周学习清单:

  • canvas和paint学习
  • shader用法
  • path用法
  • typedarray用法
  • git的使用

1.canvas和paint学习
Canvas本意是画布,可以使用canvas.drawXXXX来画一些基本图形。而paint是画笔,所调用的有颜色、粗细、材质等等。这篇文章讲得特别好,《Android高级进阶——绘图篇(一)Canvas基本操作》。canvas的基本使用方法提供文章参考,比较简单,主要是它的操作过程需要说明一下。

canvas的操作过程: 新建一个类,继承View类,并继承View的几个方法,重写onDraw方法,在onDraw中进行绘图,实现效果。写的时候出现了一个问题,在activity_main方法中对在setContentView里参数是R.layout.activity则造成了nullpointException,但是传入自定义类的实例则不会这样。

参考文章:Android中Canvas绘图基础详解(附源码下载)

2.shader的用法
shader着色器,可以利用shader来对各个View进行着色,这次只使用了线性着色器,代码如下:

//着色器
    private void shaderDraw(){
        if(paint == null){
            paint = new Paint();
        }
        paint = new Paint();
        int w = getWidth();
        int h = getHeight();
        int[] colors = new int[]{Color.BLACK,Color.RED,Color.YELLOW,Color.BLUE};
        float[] positions = null;
        LinearGradient linearGradient = new LinearGradient(0,h,w,h,colors,positions, Shader.TileMode.CLAMP);
        paint.setShader(linearGradient);
    }

显示效果是有一个渐变色,总共四个颜色。基本操作可以说的比较少,也一样是推荐文章:Android Shader着色器/渲染器

3.path用法
path理解起来很简单,本意是路径,就是两个或者两个以上的点连接成一条路径。可以利用path来做很多炫的效果。学习过程中看到了一篇很全面的文章,就不用写了。。Android开发之Path详解。

4.typedarray用法
也是第一次接触这个东西,但是可以说我们非常的熟悉。类似于android:layout_width="match_parent",我们在用自定义View的属性时也是如此,比如:voiceView:rectWidth="5dp"。具体的操作过程如下:
(1)在/res/value下建立一个attrs.xml。下面引用的也是demo中参考的代码。


    
        
        
        
        
    

其中format是指定类型,它有其他的类型包括(word表格复制不过来,):

format 类型
reference 引用,参考某一资源ID
string 字符串
color 颜色值
dimension 尺寸值
boolean 布尔值
integer 整型值
float 浮点值
fraction 百分数
enum 枚举值
flag 位运算

(2)在自定义View中添加关于typedarray的代码:

private void initAtts(Context context, AttributeSet attrs) {
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.voiceView);
            middleLineHeight = typedArray.getDimension(R.styleable.voiceView_middleLineHeight, 4);
        typedArray.recycle();
    }

(3)直接在xml文件中用:


5.git的使用
git的使用,只看了一篇文章,流程走下来就会了。文章是:Git Bash使用详细教程

其余资料如下:
(1)Git常用指令
实习周记(第一周):任何的浮躁都是阻碍_第1张图片
(2)Git工作流程
实习周记(第一周):任何的浮躁都是阻碍_第2张图片

你可能感兴趣的:(android)