OperationView.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:WalletMaster 作者:
private void fillDrawableMap(Context context, Map<Category.CategoryType, Drawable> result) {
    // EXPENSE
    final Path expensePath = new Path();
    expensePath.moveTo(0, 50);
    expensePath.lineTo(15, 100);
    expensePath.lineTo(400, 100);
    expensePath.lineTo(400, 0);
    expensePath.lineTo(15, 0);
    //path.lineTo(0, 50);
    expensePath.close();

    final ShapeDrawable expenseDrawable = new ShapeDrawable(new PathShape(expensePath, 400, 100));
    expenseDrawable.getPaint().setShader(new LinearGradient(0, 0, convertPixelsToDp(context.getResources().getDisplayMetrics().widthPixels, context), 0,
            Color.argb(50, 255, 0, 0), Color.argb(0, 255, 0, 0), Shader.TileMode.CLAMP)); // RED

    result.put(Category.CategoryType.EXPENSE, expenseDrawable);

    // INCOME
    final Path incomePath = new Path();
    incomePath.moveTo(0, 0);
    incomePath.lineTo(0, 100);
    incomePath.lineTo(385, 100);
    incomePath.lineTo(400, 50);
    incomePath.lineTo(385, 0);
    //path.lineTo(0, 0);
    incomePath.close();

    final ShapeDrawable incomeDrawable = new ShapeDrawable(new PathShape(incomePath, 400, 100));
    incomeDrawable.getPaint().setShader(new LinearGradient(0, 0, convertPixelsToDp(context.getResources().getDisplayMetrics().widthPixels, context), 0,
            Color.argb(0, 0, 255, 0), Color.argb(50, 0, 255, 0), Shader.TileMode.CLAMP)); // GREEN

    result.put(Category.CategoryType.INCOME, incomeDrawable);

    // TRANSFER
    final Path transferPath = new Path();
    transferPath.moveTo(0, 50);
    transferPath.lineTo(15, 100);
    transferPath.lineTo(385, 100);
    transferPath.lineTo(400, 50);
    transferPath.lineTo(385, 0);
    transferPath.lineTo(15, 0);
    //path.lineTo(0, 50);
    transferPath.close();

    final ShapeDrawable transferDrawable = new ShapeDrawable(new PathShape(transferPath, 400, 100));
    transferDrawable.getPaint().setShader(new LinearGradient(0, 0, convertPixelsToDp(context.getResources().getDisplayMetrics().widthPixels, context), 0,
            Color.argb(50, 255, 0, 0), Color.argb(50, 0, 255, 0), Shader.TileMode.CLAMP)); // RED -> GREEN

    result.put(Category.CategoryType.TRANSFER, transferDrawable);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号