Android中继承View的研究(一) -- 一个小Demo
本文转自:http://lovewf.blog.51cto.com/1723922/723632
Android中继承View的研究(一) -- 一个小Demo
序:总想写下点东西出来,但是总是没有时间,不是业务忙就是又有新的研究项目,最近有点时间,写点以前一直想写有一直没写的东西,供大家参考,但是终归是一家之言,仅供参考。本人的每次讲解都会提供源代码下载,并且会最近会一直更新还请大家多多关注,有不对的地方欢迎指教。好了,不说题外话了,咱们开始研究。
概述:
对于一个手机的用户体验来说最重要的部分莫过于界面了,为此Android中提供了通过XML布局的方式来进行布局,各种布局方式和控件的使用就不多说了,如果有不会的可以参考下这个一个Demo让你掌握所有的控件。对于布局来说,个人感觉只用XML布局会有一定的局限性。所以就有了通过继承View以及其他控件来实现的Android布局。
就像HTML中有的人喜欢用css布局,有的人喜欢用table布局,众说纷纭,各执一词,但是个人感觉两个结合起来使用比较好,呵呵,就像Android中开发用自定义View和使用XML一样,使用两种方式结合开发,不失是一个利器。
二、一个使用自定义View的Demo
MainActivity
import android.app.Activity; import android.os.Bundle; /** * 使用自定义的View * */ public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new HelloView(this));// 使用自定义的View } } HelloView import android.content.Context; import android.view.View; public class HelloView extends View { /** * 这个是我们要在Activity中初始化用的 * */ public HelloView(Context context){ super(context); } }
运行一下:
这个是不是看起来没有效果啊,哈哈,其实这个是系统默认的界面,也就是View默认的界面
我们来让他改变一下
在View中写一个方法
/** * 绘制View * */ protected void onDraw(Canvas canvas){ canvas.drawColor(Color.BLUE); }
运行试试看:
是不是非常神奇,由黑色变成蓝色了,哈哈,有点小小的成就感没啊>o<哈哈。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端