安卓:自定义view实现刮刮乐的效果:

安卓刮刮乐效果实现教程 在Android开发中,自定义View是提高用户界面交互性和个性化的关键技术之一。通过自定义View,开发者不仅可以重新绘制标准控件以满足特定的设计要求,还可以构建全新的组件来实现丰富的界面效果。要创建一个自定义View,首先需要了解View类的结构和生命周期,这包括onDraw()等方法。理解这些基础方法对于正确实现自定义View至关重要。// 初始化操作@Override// 绘制自定义内容创建好自定义View后,就可以在布局文件中像使用标准View一样使用它。 阅读详情

这里用到了
在这里插入图片描述
不会的可以去看一下自定义view的讲解:

https://note.youdao.com/ynoteshare/index.html?id=a99fc369bc9d4c448cb44af0c542a381&type=note

public class G extends View {
    private Paint paint_one;
    private Path mpath;
    private Canvas mcanvas;
    private Bitmap mbitmap;
    private Bitmap bitmap;
    private int lastx;
    private int lasty;


    public G(Context context) {
        super(context);
        initview();
    }

    public G(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initview();
    }

    public G(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initview();
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        int width=getMeasuredWidth();
        int height=getMeasuredHeight();
        mbitmap=Bitmap.createBitmap(width,height, Bitmap.Config.ALPHA_8);
        mcanvas=new Canvas(mbitmap);
       initpaint();
       //遮盖
        mcanvas.drawColor(Color.BLACK);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        int action = event.getAction();

        //当前坐标
        int x = (int) event.getX();
        int y = (int) event.getY();
        //判断意图
        switch (action){
            case MotionEvent.ACTION_DOWN:
                lastx=x;
                lasty=y;
                mpath.moveTo(lastx,lasty);
                break;
            case MotionEvent.ACTION_MOVE:
                //坐标的值
                int absx = Math.abs(x-lastx);
                int absy = Math.abs(y-lasty);

                mpath.lineTo(x,y);

                lastx=x;
                lasty=y;
                break;
            case MotionEvent.ACTION_UP:

                break;
        }
        invalidate();
        return true;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawBitmap(bitmap,0,0,null);
        drawPath();
        canvas.drawBitmap(mbitmap,0,0,null);
    }

    private void drawPath() {
        //模式
        paint_one.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
        mcanvas.drawPath(mpath,paint_one);
    }

    private void initpaint() {
        paint_one.setColor(Color.RED);
        paint_one.setAntiAlias(true);
        paint_one.setDither(true);
        //线条圆角
        paint_one.setStrokeJoin(Paint.Join.ROUND);
        paint_one.setStrokeCap(Paint.Cap.ROUND);
        paint_one.setStyle(Paint.Style.STROKE);
        //宽度
        paint_one.setStrokeWidth(20);
    }

    private void initview() {
        paint_one=new Paint();
        mpath=new Path();
        bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.a);
    }
}
Android刮刮乐 该项目是一个安卓类的模仿刮刮乐刮奖项目的代码,代码简洁易懂,如果项目中有相关需求,不妨拿来作为参考。 立即下载

相关推荐

Android 刮刮乐效果

Android 刮刮乐效果,开发环境:Android studio 3.1.3 博客地址:https://blog.youkuaiyun.com/huangliniqng/article/details/80722972

Android仿IOS回弹效果 ScrollView回弹 总结

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。[外链图片转存中…(img-Rrr6Ipcu-1713229324955)]欢迎大家一起交流讨论啊~

2401_84132617的博客 481

Android使用Canvas对象实现刮刮乐效果

在淘宝、京东等电商举办活动的时候,经常可以看到在移动客户端推出的各种刮奖活动,而这种活动也受到了很多人的喜爱。从客户端的体验来说,这种效果应该是通过网页来实现的,那么,我们使用Android的自带控件能不能实现这种刮刮乐的效果呢?当然可以,本篇文章将介绍使用Canvas这个对象,如何实现“刮刮乐”的效果。 先看效果图 下面我们看一下如何使用代码实现 布局文件 <FrameLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=http://schemas.android.com/too

Android实现 刮刮乐效果(1)

这次面试问的还是还是有难度的,要求当场写代码并且运行,也是很考察面试者写代码因为Android知识体系比较庞大和复杂的,涉及到计算机知识领域的方方面面。在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

2401_84121588的博客 462

Android studio实现刮刮乐的方法

主要为大家详细介绍了Android studio实现刮刮乐的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

简单实现Android刮刮卡效果

本文实例为大家分享了Android仿刮刮卡效果展示的具体代码,供大家参考,具体内容如下 一、Xfermode 通过使用Xfermode将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形,使用的时候都是通过Paint.setXfermode来实现。 二、混合模式分类 PorterDuff则是用于描述数字图像合成的基本手法,通过组合使用Porter-Duff操作,可完成任意2D图像的合成。 public class PorterDuff { // these value must match their na

Android刮刮乐效果

刮刮乐中奖效果,纯属好玩,效果不错。

聪哥的专栏 462

ClickHouse的bitmap使用

ClickHouse的bitmap使用 bitmap的基本使用 在CK中bitmap有两种构建方式,在ClickHouse的官网有说明: (1)一个是由聚合函数groupBitmapState构造的, (2)另一个是由Array Object构造的。同时还可以将位图对象转化为数组对象。 bitmap实战 数据和基本数据表准备 创建一张基本表,一个用户表,有多个描述的维度,每个维度由该维度的唯一id。 CREATE TABLE test02(id UInt16, tag1 UInt8, tag2 UInt8,

zg_hover的专栏 5654

【Android开发基础】Canvas画笔(以刮刮乐为例)

描述:如何使用Canvas将图片资源绘画出来,并通过触感传感器做到清除功能。广泛应用于 活动抽奖、游戏领域。其中尤为著名的游戏有 小鳄鱼爱洗澡等 难度:中级 知识点: 1、Bitmap资源的使用 2、Canvas画笔 完成消除上层图层指定位置的Bitmap内容。对上层资源(刮的图层)进行解析。Random方法随机一个值。适应屏幕进行涂顶层图层。

守夜人 1993

不止于修改器:用Cheat Engine(CE)的Lua脚本和D3D Hook打造你的游戏辅助界面

本文深入探讨了Cheat Engine(CE)的高级功能,包括Lua脚本自动化和D3D Hook技术,帮助用户从基础内存扫描升级到开发具有专业图形界面的游戏辅助工具。通过实战示例和优化策略,展示了如何创建高效、稳定的游戏辅助系统,并打包为独立训练器。

weixin_28700411的博客 316

C++和蓝图1:Unreal Engine 中 C++ 与蓝图的桥梁

摘要: 本文介绍了Unreal Engine(UE)中C++与蓝图可视化脚本的结合机制,重点解析了宏系统(UCLASS、UPROPERTY、UFUNCTION)如何实现代码与蓝图的交互。相比Unity的纯C#脚本模式,UE的双轨制开发允许程序员用C++处理核心逻辑,同时通过蓝图让非程序员快速迭代。文章对比了两大引擎的编程范式差异,指出UE的反射系统和宏标记提供了更精细的控制,并给出了从Unity迁移到UE的具体思路。核心在于理解UE的混合编程优势:C++保证性能,蓝图提升开发效率,二者通过宏系统无缝协作。

qq_46348216的博客 1407

【自定义控件】Android仿刮刮乐|刮刮卡|橡皮擦效果

背景:需要实线一个类似刮刮乐的擦一擦效果,要求是在图片上覆盖半透明蒙层,蒙层支持手势擦除(类似橡皮擦)。 思路:使用自定义View在onDraw时进行绘制,绘制模式选择混合模式(叠加变透明)。

qq912098812的博客 1275

麒麟 ARMv10 SP3 安装 Oracle 19c 官方文档 或 教程

在麒麟ARMv10 SP3系统上安装Oracle 19c需要特别注意架构兼容性。

qq_43032338的博客 2941

Android实现刮刮乐抽奖效果

Android实现刮刮乐抽奖效果 通过自定义View实现 package com.netease.paint.xfermode; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas;...

qq_38605423的博客 478

Halcon实战:5分钟搞定自定义直线卡尺工具(附完整代码下载)

本文详细介绍了如何使用Halcon快速开发自定义直线卡尺工具,通过交互式ROI绘制、边缘检测和直线拟合三个核心函数,实现高效工业视觉检测。文章包含完整代码下载,帮助开发者在5分钟内掌握这一实用工具的开发技巧,提升直线检测的精度和效率。

perl8的博客 251

OmniDrive(2):环境搭建

项目中使用的是全量的数据集(full dataset v1.0), 数据量比较大,训练验证(trainval) + test 总计200多G的数据,单独一个个下载会比较慢。参数,否则安装的时候会自动卸载已安装好的torch,重新安装最新版本的torch,这是不允许的。在cuDNN官网下载,默认下载的是最新版本的cuDNN,我们这里点击。,== 博文中详细介绍了完整的cuda和cudnn的安装过程==分析: 这是因为yapf 安装的版本不对,需要安装特定的版本。出现训练的loss变化,就说明可以正常训练了。

@bangbang的博客 623

Android实现 刮刮乐效果

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!**

2401_84123113的博客 730

【用unity实现100个游戏之10】复刻经典俄罗斯方块游戏(附项目源码)

当今游戏产业中,经典游戏的复刻一直是一项受欢迎且具有挑战性的任务。俄罗斯方块是一个深入人心、令人上瘾的经典游戏,在过去几十年里一直享有广泛的流行度。其简单而富有策略性的玩法吸引了无数玩家的关注。因此,我决定利用Unity引擎来复刻这款经典游戏,以让更多的人重新体验其中的乐趣。通过使用Unity引擎,我能够利用其强大的工具和功能,从头开始构建一个与原版俄罗斯方块游戏相似的游戏。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2797

Android实现刮刮乐效果(附带源码)

Android实现刮刮乐效果(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 938

智能手表竞品分析与市场调研报告

本报告旨在通过调研当前主流智能手表产品的功能特点、市场表现、用户反馈、定价策略等方面,辅助我司即将立项的Aurora Watch S1产品在功能定义、目标用户、定价区间、差异化竞争等方面做出科学决策。 调研范围包括国内外中端价位主流品牌(¥199~¥999),重点关注小米、华为、荣耀、Amazfit、Redmi、Haylou 等品牌的热销型号。

hoony123的博客 7万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android刮刮乐游戏布局,Android实现 刮刮乐效果

一、实现原理与所需技术Android刮刮乐效果的实现,自定义view,绘制出中奖信息,将一张图片绘制在中奖信息的上层,通过onTouchEvent监听用户手势,通过path记录绘制轨迹,设置绘制方式为DST_OUT,对view进行重绘,当达到一定阈值的时候,不在绘制图片只绘制中奖信息。实现效果图如下: 二、绘制中奖信息canvas绘制在bitmap上,所以在onMeasure ()方法中,首先初始...

weixin_32568425的博客 589

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

刮刮乐自定义view

说明:该代码是参考鸿洋大神的刮刮乐自定义view来写的。 实现:刮刮乐-刮奖的效果,如下效果 下面直接放代码了:只有一个自定义view,要实现真正的功能还需要进一步封装 1 /** 2 * 自定义view-刮刮乐 3 */ 4 public class GuaGuaKaView extends View{ 5 ...

adam0328的博客 211

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

自定义view实现刮刮乐

分析实现原理 1、首先最上层是一个颜色层 2、其次就是文字背景 当然也可以定义一些比较丰富的样式 3、最后就是手势实现一个橡皮檫一样的功能 其实整个功能主要就是这个橡皮檫比较难以实现点,如果了解PorterDuffXfermode的使用那么就简单了,首先看一张经典图片: 这张图片就是一个求各种交集,其中比较常用的src_in 和 DstIn,通常用来实现圆形、圆角或者奇形怪状的图, 定义...

搬砖路上的博客 318

Android自定义View实现刮刮乐效果

看到支付宝的刮刮乐效果,一直在想着自己实现一下这个效果,也查找了挺多的资料,自己粗略的实现了刮刮乐的效果,先上效果图: 现在来谈谈实现思路,这里是使用了图层的思路来实现,首先自己定制一个用来当做覆盖用的图层,颜色为灰色。接着在View onDraw的时候先绘制被覆盖的内容图层,然后绘制自己定制的用来当做覆盖用的图层,初始化的效果就是图片1。刮开的效果是重写了View的onTouchEvent方法,

MarRn的博客 2146
上一篇: 安卓:ijkplayer实现播放视频AndroidMediaPlayer
下一篇: 安卓:使用弱引用解决Handler带来的内存泄漏
feng___chen
博客等级 码龄7年 20粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值