Android自定义View实现很简单
继承View,重写构造函数、onDraw,(onMeasure)等函数。
如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml。在其中定义你的属性。
在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://schemas.android.com/apk/res/你的自定义View所在的包路径".
在使用自定义属性的时候,使用前缀:属性名,如my:textColor="#FFFFFFF"。
实例:
-
package
demo.view.my;
-
import
android.content.Context;
-
import
android.content.res.TypedArray;
-
import
android.graphics.Canvas;
-
import
android.graphics.Color;
-
import
android.graphics.Paint;
-
import
android.graphics.Paint.Style;
-
import
android.util.AttributeSet;
-
import
android.view.View;
-
-
-
-
-
-
-
-
-
-
-
-
-
public
class
MyView
extends
View {
-
-
Paint mPaint;
-
public
MyView(Context context) {
-
super
(context);
-
-
}
-
-
public
MyView(Context context, AttributeSet attrs){
-
super
(context, attrs);
-
mPaint = new
Paint();
-
-
-
-
TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MyView);
-
int
textColor = array.getColor(R.styleable.MyView_textColor,
0XFF00FF00
);
-
float
textSize = array.getDimension(R.styleable.MyView_textSize,
36
);
-
mPaint.setColor(textColor);
-
mPaint.setTextSize(textSize);
-
-
array.recycle();
-
}
-
-
public
void
onDraw(Canvas canvas){
-
super
.onDraw(canvas);
-
-
-
-
mPaint.setStyle(Style.FILL);
-
canvas.drawRect(10
,
10
,
100
,
100
, mPaint);
-
-
mPaint.setColor(Color.BLUE);
-
canvas.drawText("我是被画出来的"
,
10
,
120
, mPaint);
-
}
-
}
相应的属性文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyView">
<attr name="textColor" format="color"/>
<attr name="textSize" format="dimension"/>
</declare-styleable>
</resources>
在布局文件中的使用:
分享到:
相关推荐
Android自定义控件开发入门与实战从自定义基础到实战的讲解。一步步深入。适合有一定Android基础的读者。本压缩包中自带了推荐的pdf阅读器。大家要是喜欢这本文档,推荐去京东,天猫,当当买支持一下默默付出的作者...
《Android自定义控件开发入门与实战》高清影印版,带目录,拒绝压缩包加密坑钱,内容深入浅出,对于有Android自定义开发需求的非常有帮助
1 本书从动画、绘图、视图三方面介绍Android自定义控件相关知识,内容系统全面,并配以翔实的案例。 2 Android自定义控件涉及动画和色彩,本书将图片地址制作成二维码,可供读者扫描观看。 3 本书适合初高级水平从业...
Android自定义控件示例,基于Android studio 1.0.2。
Android自定义控件详细开发教程
Android 自定义控件简单Demo 图片+文字
Android自定义控件步骤总结 http://www.cnblogs.com/duanxz/p/3625589.html
Android自定义控件源码含APK 仿Material Design风格,在低版本android环境上面实现高版本中的按钮等UI控件,视觉效果提升,本源码将向你介绍一些方法,实现这种效果。注:本源码中使用的控件是原作者已经封装好的,...
《Android自定义控件入门到实战》源码
android自定义控件
这是我写的 Android 自定义控件入门 这个小教程的例子源码,十分基础,用了同一个例子的不同写法和扩展,简单明了的讲解了View的重写,教程请去我的博客,地址为:...希望大家能通过简单的例子学到东西,举一反三。...
Android 组合控件,用自定义方式实现,非简单重写adapter。同时包含了点击事件的响应。
android 自定义控件 小球的圆周运动 canvas绘出
详细讲解自定义控件文章的配套代码!文章地址:http://blog.csdn.net/dinglin_87/article/details/7431545
Android自定义控件源码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
教程名称: 尚硅谷Android视频教程《自定义控件》Android自定义控件,是中高级程序员必须熟练掌握的技术之一。本套视频涵盖了安卓自定义开发过程中所有的技术问题,课程中讲授的例子全部来源于企业。学习本套视频后...
Android自定义控件之滑动开关 Android自定义控件之滑动开关 http://blog.csdn.net/eeeduo/article/details/37606567
android自定义控件CircleImageVIew的使用举例
这个资源是工作中使用到的自定义控件及一些开源框架收集,挺不错的。
android自定义控件LinkTextView实现