启动一个Activity对象,然后让其显示一个GameCanvas对象(setContentView(GameCanvas));,
之前的内容在这里: HenCoder Android 开发进阶 自定义 View 1-1 绘制基础 HenCoder Android 开发进阶 自定义 View 1-2 Paint 详解
转载请注明出处。请前往 Tiga on Tech 查看原文以及更多有趣的技术文章。
代码已上传到github:https://github.com/yannecer/NCalendar 项目主要用到了自定义View,ViewPager,RecyclerView和NestedScrollingParent。
1.绘制图片 绘制有两种方法,drawPicture(矢量图) 和 drawBitmap(位图) (1)drawPicture 使用Picture前请关闭硬件加速,以免引起不必要的问题! 在AndroidMenifest文件中application节点下添上 android:hardwareAccelerated=”false”以关闭整个应用的硬件加速。
在 GUI 系统中,图形 API 是比较底层的接口。Android 系统的图形 API 包括 2D 和 3D 两部分:2D 部分使用 android.graphics 类,也作为上层控件的构建基础;3D 部分使用 OpenGL 作为标准接口。
3----个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正 4----看到这里,我在此感谢你的喜欢与支持
周末在家刷抖音的时候看到了这款网红时钟,都是Android平台的,想来何不自己实现一把。看抖音里大家发的视频,这款时钟基本分两类,一类是展示在「壁纸」上,一类是展示在「锁屏」上。
import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.KeyEvent; import android.view.View; imp
日常的开发中经常会需要用到自定义View,这次刚好有个需求,需要用到带有节点的进度条。东西很简单直接继承View就行了。
项目中用到一个自定义View,功能类似于跑马灯。但是在低端机上有明显的卡顿,故拿出部分代码做优化。代码如下
概述:在学习HenCoder的过程中,有一期是模仿优秀自定义View,有一个项目是仿即刻的点赞,后来原作者在点评中提到,需要将文字和图片分开来写,并且模仿者的动画实现由点杂乱。所以决定重现实现下文字部分的效果。并拓展了更多功能。最后说一句本文基于kotlin实现。不明白的地方请在评论区指出。
每个Android开发人员都知道,现在android的解锁最常用的就是九宫格解锁,ios的解锁常用的是数字密码解锁。而我们在开发工程中,很多时候,都需要android和ios进行结合。有的时候我们就需要把我们的解锁界面弄成像ios一样的数字键盘。
零、前言 最近两个星期研究了一下Android的绘图,也可以说是自定义控件吧。 但仅是如此吗?那些都是开胃菜,吾现在要放大招了,那就是让无数新手闻风丧胆的——数!据!结!构! 没错,吾要和数据结构进行第三次大规模战斗,而这场战斗的战利品将是本篇和之后的n篇,以及我从中获得的经验与知识。 本系列为了测试吾的能力(绘图能力,分析能力,表述能力,统筹能力)以及为大家换一个角度去看待数据结构。 本系列将会成为吾编程生涯的一座里程碑和个人标志。希望你可以和我在Github一同见证:DS4Android
从今天开始,HenCoder 就正式开讲知识技能了。按照我的计划,第一季是 UI,UI 一共分为三部分:绘制、布局和触摸反馈。本期是绘制部分的第一期。绘制大概会用 5~6 期的时间讲完,整个 UI 的绘制、布局和触摸反馈三部分大概会用十来期。更新频率大约为每周一更(不承诺哟)。
至此,我们写的差不多了,然后就是要提供一个接口,对外开放,方便用的时候调用,获取到数字或者其他信息:
前言:Android开发中,自定义View实现自己想要的效果已成为一项必备的技能,当然自定义View也是Android开发中比较难的部分,涉及到的知识有Canvas(画布),Paint(画笔)等,自定义控件分为三种:一是直接继承自View,完全的自定义;二是在原有控件的基础上进行改造,达到自己想要的效果;还有一种就是自定义组合控件,将已有的控件根据自己的需要进行组合实现的效果。本人对自定义View也是一知半解,简单记录下自己学习自定义View(继承自View)的过程,方便日后翻阅。
本文实例为大家分享了android绘制几何图形展示的具体代码,供大家参考,具体内容如下
零、前言 一开始也是突发奇想,感觉对安卓的绘图了解比较深了,何不画画数据结构呢 演示操作的项目文件已经在Github开源了,大家可以下载来自己玩玩,想要研究或完善都很欢迎 这个项目以及下面几篇文章是近几天的成果,相信对认识数据结构的新手应该会有很大的帮助 本系列测试了吾的能力(绘图能力,分析能力,表述能力,统筹能力)可以说对我有很多的益处 毕竟要视图呈现,关于结构的每一个细小点都不能马虎,也不再畏惧debug(反而喜欢上了) bug是coder的家常便饭,debug便是筷子,吃完了,饭
相信通过以上程序,能够很好的理解topLine,buttomLine,baseLine,ascentLine,descentLine。 另外:Paint类有两个方法
郁闷。。报错的原因是数组超范围了。。 还以为是for语句写错了,看了半天。。。没错啊。。。
rXxx方法的坐标使用的是相对位置(基于当前点的位移),而之前方法的坐标是绝对位置(基于当前坐标系的坐标)。
Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0
本文介绍了Android 曲线图的绘制示例代码,分享给大家,具体如下: 效果展示 效果展示.gif 使用方式 // 初始化数据表格相关 with(mTableView) { // 配置坐标系
是不是很像呢,那具体是实现是怎样的呢,即使概括的来说就是 1.计算各个变量的值(记得是会随整个View的大小变化而变化)。 2其次利用好canvas.translate()这个方法,计算好大小移动canvas的原点。 3最后就是调用api提供的各种方法画图就是了。这么说是不是太过于简略了呢,好,现在就来
相信很多开发者都有这个烦恼,在Android提供的原生TextView或AppCompatTextView中写一段文字时,文末都是参差不齐的;一行写不下就挤到第二行显示了。这里推荐一段代码,自己也是做个记录。
在 Android 中文本的绘制可以使用一些效果,其中比较智能的方面是可以让文本的对齐操作。对齐操作不仅有水平和竖直上的对齐问题,甚至可以让文本在曲线的路径上实现对齐。 参考示例程序:ApiDemo 的 TextAlign(ApiDemo=>Graphics=>TextAlign) 源代码:android/apis/graphics/TextAlign.java TextAlign 程序的运行结果如图所示:
在讲使用path绘制多边形时,讲下Canvas的translate(),rotate()方法的使用,本博客中会使用这方面的知识,先单独讲下,搞懂了这个,下面讲path绘制多边形就简单的多,我们知道每次我们使用canvas.draw…()绘制什么图形的时候,都是创建了一个新的图层,如果不知道图层是啥意思,就去看下我之前写的关于canvas基础,有讲这方面的,其实你可以理解成每次新创建了一个activity,然后把这个activity压入栈中,translate()是画布平移,其实每次画布还是同一个画布,通过paint绘制的图形都是在这同一个canvas上,但是绘制的内容跟你是否使用了translate()有关系,下面通过简单的demo来演示下:
当MeasureSpec.getMode不等于 MeasureSpec.EXACTLY时即父控件没有指定大小时,该View的宽时这个屏幕的宽再加它的左右间隔,而高是该屏幕的高再加上下间隔再除于2,否侧就是用指定控件的大小。
这篇文章是一个自定义View的学习总结文章,会介绍自定义view的整体流程和部分相关的api使用,并不会对所有使用到的api进行介绍,所以阅读的话需要有一些Android的开发基础。
经常要用到图表统计数据,在WEB开发中图表绘制是一件简单的事情,因为有比较多的开源方案。但在Android中开源方案并不多。但目前github上有多个关于图表的框架,比如MPAndroidChart很好,但是很大,没必要因为一个小的图标让工程项目扩大很多,另外有些轻量级的框架,但是个人感觉都很难满足自己的需求,再者就算很好的框架,那也是别人的,只有自己动手写起来,了解前前后后的坑,自己才能成长,而且在写的过程,我们能发现更多的细节,比如绘制的时候内存分配的问题,Canvas直接绘制和通过Bitmap绘制等等,所以这篇文章的目的:
本文实现一个如图所示的控件,包括两部分,左边的饼状图和中间的两个小方块,及右边的两行文字
其中drawText()最常用,drawPosText ()是根据一个个坐标点指定文字位置,drawTextOnPath ()是根据路径绘制。但drawText()的x,y参数是干嘛的呢?
public class GradualChangeTv extends AppCompatTextView { public Paint mPaint = new Paint();
在实现自定义控件的过程中,常常会有绘制居中文字的需求,于是在网上搜了一些相关的博客,总是看的一脸懵逼,就想着自己分析一下,在此记录下来,希望对大家能够有所帮助。
本文实例为大家分享了Android自定义View绘制彩色圆弧的具体代码,供大家参考,具体内容如下
本文实例实现一个如下图所示的Android自定义控件,可以直观地展示某个球队在某个赛季的积分数和胜场、负场、平局数
首先看一个API:setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等。 以下有两个MaskFilter的子类可供选择: BlurMaskFilter:指定了一个模糊的样式和半径来处理Paint的边缘。 EmbossMaskFilter:指定了光源的方向和环境光强度来添加浮雕效果。 下面用Demo来看效果: 一、BlurMaskFilter(模糊效果) public class XBlurMas
比较基础的一个方法。即绘制文本 使用如下: Paint paint = new Paint(); paint.setColor(Color.RED); // 红色字体 paint.setStyle(Paint.Style.FILL); // 类型 paint.setStrokeWidth(1); // 画笔线条宽度 paint.setTextSize(60); // 绘制文本大小 // 绘制内容 canvas.drawText("听着music睡 ' blogs"
本文实例为大家分享了android自定义环形统计图动画的具体代码,供大家参考,具体内容如下
公司产品需要一个雷达图来展示各维度的比重,网上找了一波,学到不少,直接自己上手来撸一记
零、前言 [1].本控件绘图部分使用我的LogicCanvas绘图库:基础使用在此, [2].喜欢的话可以到github上看看,顺便给个star [3].今天突然发现竟然LogicCanvas绘
希望实现一个折线图,但没有找到合适的控件或者代码,只有一个基本样子的,在它的基础上,进行了一些改进,改得比较灵活,可以传递参数,可以设置位置,坐标轴长度,刻度长度等。 自定义的ChartView.java package jetz.common; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; im
文末将附上组件封装的源码,欢迎大家随时沟通交流。关于项目的打包,我将使用自己基于gulp4搭建的9012教你如何使用gulp4开发项目脚手架。
本文实例为大家分享了Android自定义条形对比统计图的具体代码,供大家参考,具体内容如下
最近在做一个TStringGrid的自绘处理,在画文字处理上遇到了高度的计算问题。后来经过一段时间还是找到了一些方法: 1、使用TLabel 这个方法是有点绕路的,方法倒是简单,就是使用AutoSize属于来完成。。 2、使用DrawText DrawText的函数定义: 函数原型 int DrawText( HDC hDC, // 设备描述表句柄 LPCTSTR lpString, // 将要绘制的字符串 int nCount, // 字符串的长度 LPRECT lpRect, // 指
JOJO是我看过脑洞最大的动漫(没有之一),每季必追 最近打算做简历,想自定义个能力分析图,首先就想到这里: 废话不多说,走起,噢啦,噢啦,噢啦,噢啦... 一、静态图的绘制 1.绘制外圈
Android自定义View【实战教程】3⃣️—-Paint类、Path类以及PathEffect类详解
由于公司需要一个带刻度的进度条样式,网上找了一圈,有些是加个刻度的背景图片,这样对于我的项目来说,不合适,因为刻度需要动态去改变,所以换背景图片的方案肯定是不行的,唯一的办法就是自己绘制一个进度条,进度条的绘制相对来说是比较简单的。我自己对自定义控件这一块也不是很了解,全当学习一下吧,写这篇博客也是记录一下,如果有人也有这样样式的进度条需求,也可以直接拿过去用,比较自己也用过很多大神的东西。
领取专属 10元无门槛券
手把手带您无忧上云