• Android 它们的定义View


    安卓开发过程,安卓官方控制有时来自往往不能满足我们的需求。这一次,我必须定义自己。下面我们就来看看他们的定义View:

    package com.example.myview;
    
    import android.content.Context;
    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;
    import android.view.View.OnClickListener;
    
    public class MyView extends View implements OnClickListener{
    	private int a=0;
    	private Paint paint;
    
    	public MyView(Context context) {
    		super(context);
    		// TODO Auto-generated constructor stub
    	}
    	 public MyView(Context context, AttributeSet attrs) {
    		  super(context, attrs);
    		 }
    	@Override
    	protected void onDraw(Canvas canvas) {
    		super.onDraw(canvas);
    		paint=new Paint();//定义一个画笔
    		paint.setColor(Color.RED);//给画笔设置颜色
    		paint.setStyle(Style.FILL);//设置画笔填充
    		canvas.drawCircle(100, 100, 100, paint);//画个圆
    		paint.setColor(Color.BLUE);//给画面设置颜色
    		paint.setTextSize(20);//设置字体大小
    		canvas.drawText("小源"+a, 100, 100, paint);
    		setOnClickListener(this);//给View加上监听
    		
    	}
    	@Override
    	public void onClick(View arg0) {
    		// TODO Auto-generated method stub
    		a++;
    		invalidate();//又一次绘制
    	}
    }
    

    在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" >
    
    	<com.example.myview.MyView 
    	    android:layout_width="wrap_content"
    	    android:layout_height="wrap_content"/>
    </RelativeLayout>
    


    这就完毕了一个很easy的自己定义View.程序路上一起努力,加油!

    行。进步一点点!它最终会成为神的!


     

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    MySQL中TIMESTAMP和DATETIME区别
    图片标签的alt与title区别
    DEDE自带的采集功能,标题太短的解决方法
    Modernizr——为HTML5和CSS3而生!
    InnoDB,MyISAM,Memory区别
    Innodb,MyIsam,聚集索引和非聚集索引
    聚集索引与非聚集索引的总结
    程序kill -9与kill -15的区别,以及回调函数的作用
    linux 信号 SIGINT SIGTERM SIGKILL区别
    oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4876481.html
Copyright © 2020-2023  润新知