一般情况下,不直接使用View和ViewGroup类,而是使用使用其子类。例如要显示一张图片可以用View类的子类ImageView,开发自定义View组件可分为两个主要步骤:

一、创建一个继承自android.view.View类的View类,并且重写构造方法。

如下,新建一个名为MyView.Java的Java类文件,重写一个带Context的构造方法和onDraw()方法(用来重新绘制Activity窗口的背景)。

package com.example.lhb.contentprovider1;import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;public class MyView extends View{public MyView(Context context){super(context);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);Paint paint=new Paint();Bitmap bitmap= BitmapFactory.d

Android Studio开发基础之自定义View组件相关推荐

  1. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  2. Android软件开发之盘点自定义View界面大合集(二)

    Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个 ...

  3. Android Studio 开发基础经验汇总

    Android 开发最佳实践 从Futurice公司Android开发者中学到的经验. 遵循以下准则,避免重复发明轮子. 摘要 使用 Gradle 和它推荐的工程结构 把密码和敏感数据放在gradle ...

  4. Android Studio开发基础之启动Service,并通过从Activity向Service传递数据

    本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码: package com.example.lhb.startservice;imp ...

  5. android studio登录注销,Android Studio开发基础之动态注册与注销BroadcastReceiver

    1.New→Other→BroadcastReceiver package com.example.lhb.startservice; import android.content.Broadcast ...

  6. Android Studio开发基础之动态注册与注销BroadcastReceiver

    1.New→Other→BroadcastReceiver package com.example.lhb.startservice;import android.content.BroadcastR ...

  7. Android Studio开发基础之Service

    1.Service的使用 Activity可以呈现一个用户界面,但是Service确实运行在后台,新建一个Myservice.java,会在AndroidManifest中自动配置<Servic ...

  8. Android Studio开发基础之Context用法说明

    1.Context说明   Context是一个用于访问全局信息的接口,如应用程序的资源(如图片,字符串等),一些常用的组件继承自Context,如Activity和Service等等. 如利用Jav ...

  9. Android Studio开发基础之细节问题笔记

    1.ActionBarActivity上有横线: 新建一个项目后,在public class MainActivity extends ActionBarActivity {}的ActionBarAc ...

最新文章

  1. .net的mvc的fw版本为4.5发布到阿里云【云虚拟主机】上.
  2. 安装Python库包的多种方式
  3. shell中单引号双引号反引号的区别
  4. mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。
  5. C#使用System.Data.SQLite操作SQLite
  6. 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?
  7. 高等数学(第七版)同济大学 习题7-3 个人解答
  8. 宾馆客房管理系统Mysql数据库课程设计
  9. python基础函数应用_python基础之函数的应用
  10. 免费云真机测试 | 让您的应用完美适配 Android Oreo
  11. 高并发,我把握不住啊!
  12. 建筑BIM的使用场景
  13. win32com为word添加页码(示例)
  14. 从整体视角了解情感分析、文本分类!
  15. j计算机实验室安全操作规范,实验室安全技术操作规范.doc
  16. pythonic词源_python的意思在线翻译,解释python中文英文含义,短语词组,音标读音,词源【澳典网ODict.Net】...
  17. vue环境配置问题cmd指令报错 npm ERR! code EPERMnpm ERR! syscall mkdir
  18. 记一次java面试(小黑鱼)
  19. 解答:为什么判断一个数是否为素数时只需开平方根就行了!
  20. 斐讯K2无法运行KCPTUN占用CPU特别高的问题

热门文章

  1. 2021.NET Conf China上的GraphQL
  2. MAUI 移植 Xamarin.Forms 自定义渲染器
  3. ArrayPool 源码解读之 byte[] 也能池化?
  4. Azure 上的网站如何识别不同国家和地区的用户
  5. C# Action用法
  6. Azure 静态 web 应用集成 Azure 函数 API
  7. 快速了解 ASP.NET Core Blazor
  8. 推荐一本基于ASP.NET Core 3.1的实战来了
  9. 【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。
  10. 没用过.gitignore还敢自称高级开发?