先想大家推荐一个app叫做Morning routine,是最美应用推荐的,非常好看的一款闹钟工具(可能根据个人喜好而不相同)。这一篇是实现的一个小功能,窗帘样式的View
按照国际惯例,代码如下
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import android.os.Build;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
public class BitmapMeshView extends View {
private Bitmap bitmap;
private Bitmap shadowMask;
private Paint paint;
private Shader maskShader;
private int maxAlpha = 0xFF;
private int width, height;
private int bitmapWidth = 30;
private int bitmapHeight = 10;
private int touchX;
private int touchY;
private boolean newApiFlag;
private int delayOffsetX;
private AccelerateInterpolator interpolator;
private Handler handler = new Handler();
private Runnable delayRunnable = new Runnable() {
@Override
public void run() {
delayOffsetX += (touchX - delayOffsetX) * 0.5F;
handler.postDelayed(this, 20);
invalidate();
}
};
public BitmapMeshView(Context context) {
this(context, null);
}
public BitmapMeshView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}