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

从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中参考的代码。

<resources>
    <declare-styleable name="voiceView">
        <!--中间线的颜色,就是波形的时候,大家可以看到,中间有一条直线,就是那个-->
        <attr name="middleLine" format="color" />
        <!--中间线的高度,因为宽度是充满的-->
        <attr name="middleLineHeight" format="dimension" />
    </declare-styleable>
</resources>

其中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文件中用:

<yj.com.mylibrary.VoiceLineView
        android:id="@+id/voicLine_line"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white"
        voiceView:middleLineHeight="1dp"
        tools:ignore="MissingConstraints" />

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

其余资料如下:
(1)Git常用指令
在这里插入图片描述
(2)Git工作流程
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值