android-自定义view创建概述
2014-07-21 00:15
148 查看
1.创建继承view的类
上述是一个例子。
2.要调用这个myview,需要在layout.xml上调用,如
com.example.myview是myview这个类的所在包,xml调用时,记得前面要加上包。
这个是另一个自定义view的例子
public class myview extends View{ public myview(Context context, AttributeSet attrs) { //构造器 super(context, attrs); // TODO Auto-generated constructor stub } protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawColor(Color.BLACK); //绘制黑色背景 Paint paint=new Paint(); //创建画笔 paint.setColor(Color.RED); canvas.drawRect(10,10,110,110, paint); //画矩形 canvas.drawText("这是字符串", 10, 130, paint);//写字 RectF rf1=new RectF(10,130,110,230); //定义一个矩形 canvas.drawArc(rf1, 0, 45, true, paint);//画弧,顺时针 canvas.drawLine(150, 10, 250, 110, paint);//画线 RectF rf2=new RectF(150,130,250,230); canvas.drawOval(rf2, paint); //画圆 } }
上述是一个例子。
2.要调用这个myview,需要在layout.xml上调用,如
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <com.example.myview.myview android:id="@+id/myview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </RelativeLayout>
com.example.myview是myview这个类的所在包,xml调用时,记得前面要加上包。
这个是另一个自定义view的例子
package com.example.myview; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; public class myview_picture extends View{ Bitmap mb; Paint paint; public myview_picture(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub this.initBitmap(); //初始化图片 } public void initBitmap() { paint=new Paint(); mb=BitmapFactory.decodeResource(getResources(), R.drawable.indexgundom); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); paint.setAntiAlias(true); //打开抗锯齿 paint.setColor(Color.WHITE); //设置画笔颜色 paint.setTextSize(15); //我猜是设置字体大小 canvas.drawBitmap(mb, 10,10, paint); //画图 canvas.drawText("图片的宽度:"+mb.getWidth(), 20, 220, paint); //写字 canvas.drawText("图片的高度"+mb.getHeight(), 150, 220, paint); } }
相关文章推荐
- 【Android Training UI】创建自定义的Views(Lesson 3 - 处理View的交互性)
- android自定义View创建一个Path绘制多边形,贝塞尔曲线,
- Android 创建自定义 View 的属性 (attrs) 时需要注意的问题
- Android学习之创建自定义View(入门)
- Android自定义控件之继承ViewGroup创建新容器
- 【Android Training UI】创建自定义的Views(Lesson 4 - 优化View的性能)
- Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
- android自定义view(二)创建复合控件
- Android官方开发文档Training系列课程中文版:创建自定义View之View的交互
- Android开发:创建自定义视图–创建一个View类
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 【自定义View系列】android自定义View概述
- Android Training - 创建自定义的Views(Lesson 1 - 创建一个View类)
- 《Android 群英传》读书笔记:自定义 View 之创建复合控件
- 【Android Training UI】创建自定义Views(Lesson 1 - 创建一个View类)
- android---创建自定义的view
- Create a custom view in Android || 在 Android 中创建一个自定义 View
- Android自定义控件之继承ViewGroup创建新容器(四)
- Android自定义控件之继承ViewGroup创建新容器
- Android进阶——自定义View之必学的系统控件架构及自定义控件概述