位置: 编程技术 - 正文

Android自定义系列(1)——自定义view 仿微信viewPage底部显示图标(整理来自慕课网)(安卓自定义app)

编辑:rootadmin

推荐整理分享Android自定义系列(1)——自定义view 仿微信viewPage底部显示图标(整理来自慕课网)(安卓自定义app),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓自定义app,Android自定义系统服务,Android自定义系统服务框架,android自定义属性详解,自定义android系统,android自定义属性详解,android自定义属性详解,Android自定义系统服务,内容如对您有帮助,希望把文章链接给更多的朋友!

这里我整理了几个大神的技术博文,结合着来自慕课网的代码,梳理一下自定义view要做的几个步骤。

1.在value中建立一个attr.xml,再声明几个属性:

2.在构造函数中初始化view中的属性数据:3.重写onMeasure()方法,这个方法是用来确定布局大小及位置的4.重写onDraw()方法,这个方法是用来绘制显示界面的5.当view的数据改变时,需要重绘,调用android重绘的方法6.再MainActivity中使用自定义的view6.1在MainActivity中初始化6.2设置点击触发,改变颜色6.3设置viewPage滑动触发,逐渐改变颜色这里再详细讲一下关于绘制可以通过透明度改变颜色的那个方法。第一点:是关于Paint.setAntiAlias()防止边缘锯齿在Android中,目前,我知道有两种出现锯齿的情况。 ① 当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。 ② 在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。 ◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族,在这些函数中,都有一个Paint参数,要做到防止锯齿,我们就要使用到这个参数。如下:首先在你的构造函数中,需要创建一个Paint。 Paint mPaint = new Paint(); 然后,您需要设置两个参数: 1)mPaint.setAntiAlias(); 2)mPaint.setBitmapFilter(true)。第一个函数是用来防止边缘的锯齿,第二个函数是用来对位图进行滤波处理。最后,在画图的时候,调用drawBitmap函数,只需要将整个Paint传入即可。 ◆ 有时候,当你做RotateAnimation时,你会发现,讨厌的锯齿又出现了。这个时候,由于你不能控制位图的绘制,只能用其他方法来实现防止锯齿。另外,如果你画的位图很多。不想每个位图的绘制都传入一个Paint。还有的时候,你不可能控制每个窗口的绘制的时候,您就需要用下面的方法来处理——对整个Canvas进行处理。 1)在您的构造函数中,创建一个Paint滤波器。 PaintFlagsDrawFilter mSetfil = new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG);第一个参数是你要清除的标志位,第二个参数是你要设置的标志位。此处设置为对位图进行滤波。 2)当你在画图的时候,如果是View则在onDraw当中,如果是ViewGroup则在dispatchDraw中调用如下函数。 canvas.setDrawFilter( mSetfil ); ★ 最后,另外,在Drawable类及其子类中,也有函数setFilterBitmap可以用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果。(以上是来自转载博文。)第二点:Paint的常用方法Android自定义系列(1)——自定义view 仿微信viewPage底部显示图标(整理来自慕课网)(安卓自定义app)

void setARGB(int a, int r, int g, int b) 设置Paint对象颜色,参数一为alpha透明通道void setAlpha(int a) 设置alpha不透明度,范围为0~

void setAntiAlias(boolean aa) //是否抗锯齿

void setColor(int color) //设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义 . void setFakeBoldText(boolean fakeBoldText) //设置伪粗体文本 void setLinearText(boolean linearText) //设置线性文本 PathEffect setPathEffect(PathEffect effect) //设置路径效果 Rasterizer setRasterizer(Rasterizer rasterizer) //设置光栅化 Shader setShader(Shader shader) //设置阴影

void setTextAlign(Paint.Align align) //设置文本对齐void setTextScaleX(float scaleX) //设置文本缩放倍数,1.0f为原始 void setTextSize(float textSize) //设置字体大小 Typeface setTypeface(Typeface typeface) //设置字体,Typeface包含了字体的类型,粗细,还有倾斜、颜色等。

void setUnderlineText(boolean underlineText) //设置下划线Paint paint = new Paint(); paint.setAntiAlias(true); //防锯齿 paint.setDither(true); //防抖动 paint.setStyle(Paint.Style.STROKE); //画笔类型 STROKE空心 FILL 实心第三点:paint.setXfermode()的具体用法mPaint = new Paint();mPaint.setXfermode( new PorterDuffXfermode(PorterDuff.Mode.SCREEN));Canvas canvas = new Canvas(Src);paint.setXfermode( new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(Dst, 0f, 0f, paint);这个是模式的示例图片:

Android系统内核cpufreq技术分析 一、Andorid系统内核cpufreq技术机制介绍1.什么是变频技术:主流CPU都支持变频(frequencyscaling)技术,如美国的IntelCPU支持的EnhancedSpeedStep技术和AMDCPU支持

Android自定义View的用法总结 本文参考了:

android Menu详解 onCreateOptionsMenu() Android的onCreateOptionsMenu()创建菜单Menu详解时间--::ITeye-博客原文

标签: 安卓自定义app

本文链接地址:https://www.jiuchutong.com/biancheng/385184.html 转载请保留说明!

上一篇:Android 开发最佳实践(android开发前景)

下一篇:Android系统内核cpufreq技术分析(android系统内核基于什么操作系统?)

  • 注册资本没有全额怎么办
  • 公司欠款利息收入需要交增值税吗?
  • 建筑企业有哪些
  • 小规模纳税人的企业所得税税率
  • 钻井勘探支出已费用化的探井
  • 个税专项附加扣除具体怎么操作
  • 办公室租赁费计入什么科目
  • 应付账款借方余额在资产负债表中怎么列示
  • 印花税工会经费会计分录
  • 工资表不给看
  • 当月工资补扣个税吗
  • 长期待摊费用涉税风险应对
  • 公司账上没车可以报车辆保险吗
  • 收不回工程款的心情
  • 个人转租房子
  • 欧拉操作系统和龙蜥哪个好用
  • 用户登录系统后首先进入什么
  • windows 7无线开关在哪里
  • win11版本英文
  • php extract函数
  • 个人独资企业怎么做账
  • wordpress优化seo
  • 分配股利会稀释股权吗
  • 工行对公贷款利息扣除时间
  • 中秋快乐图片大全
  • 皮丘拉湖畔的乌代布尔城市宫殿,印度 (© Chaiyun Damkaew/Getty Images)
  • 非盈利组织固定资产没入帐 怎么调账
  • 华为od机试成绩什么时候出来
  • php反射获取方法参数
  • vue使用百度地图三方标准地图清空后卡死
  • 2021前端校招笔试
  • 推荐 4个有趣实践作业
  • passwd -s命令
  • php递归函数详解
  • 如何办理出口退税备案
  • 小微企业增值税免税政策2023年
  • 其他应收账款怎么做预算会计分录
  • 海关进口增值税专用缴款书如何抵扣
  • 织梦cms为什么不维护了
  • 建筑业成本需要摊销吗
  • 有外币业务需不需要交税
  • 坏账核销的会计处理
  • 利息分月计提按多少
  • 金蝶可以自动结转增值税吗
  • 对于投资者而言购买债券型理财产品面临的最大风险来自
  • 一般纳税人企业所得税怎么征收
  • 什么情况下增值税进项税额转出
  • 应付帐款借方余额,但对方公司己注销
  • 民宿的房屋租赁费怎么算
  • 财务人员办理会计事项必须复制或取得原始凭证
  • 电子承兑汇票转给下家
  • 企业季度预缴所得税怎么算
  • 逾期未认证的增值税发票处理办法
  • 公司是生产企业现在要开出租赁的发票可以开吗
  • 出售无形资产净损失
  • 收到去年所得税退税款会计分录
  • 建筑劳务公司的账务处理流程
  • 公司定额征收需要什么
  • 建设工程施工管理
  • 无形资产如何入股公司
  • mysql基本介绍
  • 宏基笔记本一键恢复系统
  • ubuntu-server
  • windows系统后台不显示QQ等软件(任务栏右侧不显示QQ图标)
  • 如何修改windows默认语言
  • win7系统如何修改ip地址
  • 封装windows7
  • win7计划任务设置
  • 电脑安装win8
  • 变量选择lasso
  • PHP+jquery+ajax实现分页
  • shell字符串比较相等
  • css回到页面顶部
  • pm2启动nodejs
  • js基础知识
  • 等待窗口
  • jquery中点击事件点击没动静
  • 个人出租住房增值税免税政策
  • 南阳市税务稽查局举报电话
  • 国税车购税征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设