职场小白迷上优美句子:
真正的勤奋,不是被迫的机械性重复劳动,也不是自我感动式的摧残健康,更不是因为拖延症导致的最后一刻效率爆发。
真正的勤奋来自于一个人的内心深处,对于那些无法获得即刻回报的事情,依然能够保持十年如一日的热情与专注。
本来想上个gif格式的动画图, 结果手机屏幕录制的是mp4格式的, 没法上传, 直接来个效果图吧
----------------------------- FocusCirceView ----------------------------
package com.example.zhuoshi.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.ScaleAnimation;
public class FocusCirceView extends View {
private Paint paint;
private static final String TAG = "FocusCirceView";
private float mX = getWidth()/2; //默认
private float mY = getHeight()/2;
public FocusCirceView(Context context) {
super(context);
}
public FocusCirceView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public void setPoint(float x, float y){
this.mX = x;
this.mY = y;
}
//重写draw方法
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
//实例化画笔
paint = new Paint();
//给画笔设置颜色 #f4f4f4
paint.setColor(Color.parseColor("#cccccc"));
//设置画笔属性
paint.setStyle(Paint.Style.STROKE);//空心圆
paint.setStrokeWidth(4);
Log.d(TAG, "draw: "+"width:"+getWidth()+"___height:"+getHeight());
canvas.drawCircle(mX,mY,20,paint);
canvas.drawCircle(mX,mY,90,paint);
}
public void deleteCanvas(){
paint.reset();
invalidate();
}
/***
* 缩放动画
*/
public void myViewScaleAnimation(View myView) {
ScaleAnimation animation = new ScaleAnimation(1.1f, 1f, 1.1f, 1f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
animation.setDuration(300);
animation.setFillAfter(false);
animation.setRepeatCount(0);
myView.startAnimation(animation);
}
}
调用方式:
------------------------------ CirceActivity -------------------------------
private ImageView mCirceImgview;
private FocusCirceView focusCirceView;
private static final String TAG = "CirceActivity";
private void initView() {
mCirceImgview = (ImageView) findViewById(R.id.circeImgview);
mCirceImgview.setOnTouchListener(this);
focusCirceView = new FocusCirceView(CirceActivity.this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
float x = event.getX();
float y = event.getY();
if (focusCirceView!=null) {
focusCirceView.myViewScaleAnimation(focusCirceView);//动画效果
focusCirceView.setPoint(x,y);
addContentView(focusCirceView, new
ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT)); //添加视图FocusCirceView
}
Log.d(TAG, "onTouch:ACTION_DOWN____mX: " + x + "__mY" + y);
break;
case MotionEvent.ACTION_MOVE:
Log.d(TAG, "onTouch: ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
Log.d(TAG, "onTouch: ACTION_UP");
//抬起时清除画布,并移除视图
focusCirceView.deleteCanvas();
if (focusCirceView != null) {
((ViewGroup)focusCirceView.getParent()).removeView(focusCirceView);
}
break;
}
return true;
}