android自定义控件(二) 入门,继承View
2024-08-29 23:25:03
转载请注明地址:http://blog.csdn.net/ethan_xue/article/details/7313788
ps: 可根据apidemo里LableView,list4,list6学习
文档在dev guide/Framework Topics/User Interface/Building Custom Components
自定义控件的步骤:
1 View的工作原理 2 编写View类 3 为View类增加属性 4 绘制屏幕 5 响应用户消息 6 自定义回调函数
不多说,主要是Canvas, Paint, Path
- public class CustomView1 extends View {
- private Paint mPaint;
- // private static final String mText = "drawText";
- private String mText = "drawText";
- public CustomView1(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- mPaint = new Paint();
- mPaint.setColor(Color.BLUE);
- // FILL填充, STROKE描边,FILL_AND_STROKE填充和描边
- mPaint.setStyle(Style.FILL);
- canvas.drawRect(new Rect(10, 10, 100, 100), mPaint);// 画一个矩形
- mPaint.setColor(Color.GREEN);
- mPaint.setTextSize(35.0f);
- canvas.drawText(mText, 10, 60, mPaint);
- }
- }
布局
- <pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ethan.customview1.CustomView1
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
- </LinearLayout></pre><pre name="code" class="java"></pre>
效果图
注意,此时,在控件下放一个textView的话,是显示不出来的(TextView放在控件上面可以显示),以后再解决
下载地址 http://download.csdn.net/detail/ethan_xue/4108820
最新文章
- nginx中的超时设置
- javascript删除数组某个元素
- 2015-2016-2 《Java程序设计》 学生博客及Git@OSC 链接
- Hadoop c++开发
- 【转】linux下cpio命令使用
- Microsoft Script Editor
- Asp.Net 之 服务器端控件与客户端控件的区别
- c#自定义液晶数字控件
- 一个用C#实现的虚拟WiFi设置程序
- CH Round #53-数据备份
- Java 类的成员初始化顺序
- 使用SoapUI 测试Web Service
- CSS公用
- iOS开发之Objective-C与JavaScript的交互
- 【Java提高】---通过UUID、SHA-1、Base64组合加密
- 微信小程序上传与下载文件
- 2.App爬取相关库的安装(安装mitmproxy)
- [Go] panic 和 recover
- 没有公网的IP的用户有福了,即使您没有公网IP,我们要一样可以让您与ER对接,同时可远程访问
- STL——空间配置器(SGI-STL)