Android 自定义View需要重写ondraw()等方法

来源:互联网 发布:中国乘用车8月销量数据 编辑:程序博客网 时间:2024/05/20 21:48

Android  自定义View需要重写ondraw()等方法,这篇博客给大家说说自定义View的写法,需要我们继承View,然后重写一些

方法,方法多多,看你需要什么方法


首先写一个自定义的View 继承View

package com.example.engineerjspview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.MotionEvent;/** * 自定义 EngineerJspView * @author Engineer-Jsp * @date 2014.10.28 * */import android.view.View;public class EngineerJspView extends View{public float E_X = 188;      public float E_Y = 188;      Paint paint = new Paint(); public EngineerJspView(Context context) {super(context);}public EngineerJspView(Context context, AttributeSet set){super(context, set); }@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);paint.setColor(Color.RED);          canvas.drawCircle(E_X, E_Y, 88, paint);}@Overridepublic boolean onTouchEvent(MotionEvent event) { E_X = event.getX();       E_X = event.getY();          invalidate();return false;}@Overrideprotected void onAnimationStart() {super.onAnimationStart();}@Overrideprotected void onAnimationEnd() {super.onAnimationEnd();}}

布局文件:

<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.engineerjspview.EngineerJspView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true" /></RelativeLayout>

主活动:

package com.example.engineerjspview;/** * 自定义 EngineerJspView * @author Engineer-Jsp * @date 2014.10.28  * */import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}

效果:



自定义View看你需求而定,并不只是画图形而已,我这里只是说明下自定义View需要重写的方法~~

0 0
原创粉丝点击